HEX-edit UTF-8文件

时间:2012-05-01 05:22:44

标签: encoding utf-8 hex character cp1252

我正在尝试使用HEX-Editor创建UTF-8 /无BOM文件。我想要的UTF字符是TUGRIK SIGN,它是UTF-8中的e2 82 ae

我用N ++创建了 UTF-8 /无BOM文件,在N ++中复制了该字符并保存了该文件。 Voilà,在HEX-Editor看起来很好,看上去很e2 82 ae

所以我尝试了另一种方式arround,将3个字节e2 82 ae保存到带有wxHexEdtior的文件中。 Crap,N ++认为该文件是 ANSI(Latin1)编码的。

我根本得不到它。 可能与windows -CP1252-编码发生冲突?

另一个有趣的事情(我也完全没有得到),是wxHexEditor显示文件的一些反汇编。

对于wxHexEditor,N ++创建的文件的反汇编是可以的,但是wxHexEditor创建的文件具有无效的反汇编。

如果有人可以向我解释黑魔法,我会很高兴。

Image 1

Image 2

1 个答案:

答案 0 :(得分:1)

文件本身不包含编码信息,因此编辑器要么猜测编码,要么只是以某种默认编码显示,而Latin1是常见的默认编码。在我的N ++(6.1.2)版本中,它打开并正确显示为UTF-8。

如果您的版本没有正确猜测,那么当您在N ++中创建文件时,您可能事先告诉N ++您要创建一个没有BOM的UTF-8文件,这就是它知道如何正确显示它那个时候。

关于汇编程序......首先,不是汇编程序与文件“链接”或“关联”的情况,而是你的hexeditor只是试图反汇编你给它的任何文件。

汇编程序不同的原因是,在“好”文件中,您碰巧选择了第一个字节(或没有),因此wxHexEditor会反汇编整个文件。在“坏”版本中,您可能已经选择了第二个字节,并且此82 ae不会反汇编为任何有效代码。