配置文件不正常导致加密出错的问题(2012/12/10)

     资管反应,一个头盔看不到,此头盔的资源配置在文件的第一项,并且使用工具加密后再解密,对比原始文件,发现第一项的配置不见了。

     使用记事本或者UE查看第一项,未见有什么异常。从能正常加密的第二项拷贝数据,修改id放在第一项,问题依旧。


 

     拷贝的方法也不行,说明应该不是格式问题或者大小写问题。

     出错的总是在第一项,推测可能文件头有点问题。用gvim或者vc打开原始文件,发现文件首部有类似乱码的东西。

     修改后保存,发现可以正确加解密了。

     文件头类似乱码一样的东西,其实是BOM——“Byte Order Mark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),除此以外还可以标识编码(UTF-8/16/32)”。

     用记事本“另存为”查看发现,出错的文件是UTF8编码的。而windows记事本在保存UTF8编码的文件时,会自动添加BOM,推测是资管某次编辑将此文件改为UTF8编码的,于是多出BOM造成工具无法正常解析文件进行加密。


 

    单个文件要去除BOM,可以直接使用可以查看到BOM的编辑器(gvim/vc6等)修改文件首部的内容即可。或使用Sublime Text 2等编辑器的保存为不带BOM的格式。

配置文件不正常导致加密出错的问题(2012/12/10)_第1张图片

    但要注意到是,gvim也并非总是能看到:

 配置文件不正常导致加密出错的问题(2012/12/10)_第2张图片

    对于较多文件的检查修改,可以使用File BOM Detector(免费,http://www.bryntyounce.com/filebomdetector.htm)。

配置文件不正常导致加密出错的问题(2012/12/10)_第3张图片



     资管在修改配置文件,尤其是部分读取方式较为严格的文件时,要特别注意文件头的问题。对现有的配置文件,用File BOM Detector进行检查。

 

参考链接

1.UTF-8、BOM、的问题  http://7567567.blog.51cto.com/706378/641744
2.File BOM Detector  http://www.bryntyounce.com/filebomdetector.htm

你可能感兴趣的:(配置文件不正常导致加密出错的问题(2012/12/10))