一份 XML 文件在网络传输的过程中,修改了其中的数值,如何会导致中文部分变乱码?

2016-02-01 15:49:36 +08:00
 abelyao

首先本帖可能会涉及游戏存档修改,但不涉及具体某个游戏,目的仅为技术讨论,希望管理员手下留情,如果实在不合适,可删帖。

某个游戏,可以在线备份游戏存档,存档恢复的过程中,是一份明文的 XML 格式。
在传说的过程中,通过拦截等方式,将 XML 中的某些数字进行修改(例如金币),修改之后游戏存档正常恢复,并且游戏可以正常读取到修改之后的金币。
但是,游戏中的一些中文(例如人名)会变成 ?????? 一堆问号。

我尝试过:
- 修改的数值长度不变化,例如原先 10000 金币,我就改成 20000 ,仍然乱码;
- 将 content-length 的长度一起修改,仍然乱码;
- 给中文部分加上 CDATA 标签,仍然乱码;

原本是想改存档,但现在存档已经无所谓了,因为实在想不通为什么会导致中文部分变乱码,而其它部分却可以正常读取。

冒险来 V2 发个帖子,讨论一下,如果有哪位朋友知道我是说哪个游戏,也请不要提及名称~

1773 次点击
所在节点    问与答
5 条回复
jugelizi
2016-02-01 15:53:47 +08:00
...乱码看看编辑器是不是修改了编码格式呀
JiShuTui
2016-02-01 15:53:57 +08:00
修改的时候改变了文档的编码格式,比如原先是 GBK 的,你改了之后变成了 UTF8 ,或者原先是 UTF8 被你改成 GBK 了。
abelyao
2016-02-01 15:57:36 +08:00
@jugelizi 起初是直接复制 XML 内容出来,改后粘贴回去;后来是直接在抓包工具上进行修改(因为只改一个数字也不需要高亮了),但都会有一样的问题
abelyao
2016-02-01 15:59:20 +08:00
@JiShuTui 平时有做网页,也算是对编码有警惕, XML 的第一句声明了是一个 UTF-8 编码的文件,而且我在修改的时候大多数是直接复制粘贴替换内容,并没有另起文档。

不过你和 @jugelizi 都提到这个可能性,我在想会不会是抓包工具把编码弄坏了…
abelyao
2016-02-01 16:13:03 +08:00
@jugelizi @JiShuTui
刚刚试了一下,一份包含中文的文件,只要经过抓包工具的修改,到达客户端之后就会变成 ?????,基本确定是拦截的问题了… 谢谢两位

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/254808

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX