尝试:
codecs.getencoder('hex_codecs')(codecs.getencoder('utf-32')('a')[0])Python将输出:
('fffe000061000000', 8)为什么python将0000附加到UTF-32编码的字符串?
谢谢。
发布于 2011-12-13 15:08:14
它只是按照与预期相反的(小端)顺序对字节进行排序。在PHP中也是如此:
> bin2hex(iconv('ASCII', 'UTF-32', 'a'));
0000feff000000610000feff是UTF-32BOM,00000061是"a“。
UTF-32 defaults to "natural endianness".如果你想要特定的东西,使用UTF-32-BE或UTF-32-LE。
发布于 2011-12-13 15:08:12
61000000是U+0061的(小写) UTF-32编码,拉丁小写字母A。6100是(小写) UTF-16编码,61是UTF-8编码。
https://stackoverflow.com/questions/8485466
复制相似问题