不同的unicode编码之间的细微差别

时间:2017-05-05 08:54:18

标签: unicode encoding utf-8

我一直在尝试用js / c ++编写我朋友的程序的Python实现,但是我们遇到的编码略有不同,导致我的程序无法实现相同的结果。通过侧面渠道,我能够解决问题,我想知道问题是如何产生的以及如何防止它在将来再次发生

当我们的程序采用Unicode字符串,将最后一个有效字节存储到字节数组中,并且md5哈希(不必安全,因此md5可以)产生结果时,会出现问题。但实际上,我们的程序在将字符串编码为字节时表现出不同的行为:

她的节目:依然冰奈斯→[0x9d,0x 3 6,0xb0,0x 4 8,0xaf]

我的节目:依然冰奈斯→[0x9d,0x b 6,0xb0,0x 8 8,0xaf]

我尝试使用各种不同的codex(不同版本的Unicode,hz,gb,cp,isos)对其进行编码。没有产生她在她的程序中获得的结果,并且在线研究简体中文的不同unicode版本没有提供如何发生这种情况的见解,当我用an online converter编码字符串时,这种差异再次出现,差异在针对常规UTF-8表示的Web应用程序(css,U +,0x格式)的代码之间再次出现。但是通过浏览编码库,我发现"Unicode_escape" codex导致我朋友的程序产生了相同的最后字节序列。我想知道是否存在我应该参考的UTF-8以外的特定编解码器,或者我应该如何操作数据以便我可以获得相同的结果。

0 个答案:

没有答案