Unicode 一个人能猜出二进制/十六进制数据的字符编码吗?
我有一个如下开头的文件(hex fromUnicode 一个人能猜出二进制/十六进制数据的字符编码吗?,unicode,utf-8,character-encoding,utf-16,Unicode,Utf 8,Character Encoding,Utf 16,我有一个如下开头的文件(hex fromod-x) 8fae 3800 7c00 2200 4300 6800 6100 7200 相应的字符是 ®8 |“C h a r 它应该是8 |“Char,以数字8和管道字符开始,依此类推 前两个字节8fae是某种标题还是BOM 我可以假设编码是UTF-16吗 它们的第一个字符可能是BOM,尽管它们看起来并不熟悉。UTF-8使用0xEF、0xBB、0xBF,而UTF-16使用U+FEFF或0xFE、0xFF 请记住,对于UTF-8,BOM是可选的(即,有
od-x
)
8fae 3800 7c00 2200 4300 6800 6100 7200
相应的字符是
®8 |“C h a r
它应该是8 |“Char
,以数字8和管道字符开始,依此类推
8fae
是某种标题还是BOM李>
它们的第一个字符可能是BOM,尽管它们看起来并不熟悉。UTF-8使用0xEF、0xBB、0xBF,而UTF-16使用U+FEFF或0xFE、0xFF
请记住,对于UTF-8,BOM是可选的(即,有带BOM的UTF-8,也有不带BOM的UTF-8)。所以不幸的是,当没有BOM表时,很难安全地识别文件的编码。一些库或插件使用字符字典猜测编码。在我看来像
UTF-16
。第一个角色可能永远是辮.我想你的意思是,“你怎么猜?”如果你不知道,你就不知道。CP437可以解码任何字节值的任何序列(与任何Unicode编码、Windows-1252、Windows-1251等不同)。8f ae
在UTF-16中不是>
,而是꺏代码>取而代之。您必须询问编写该文件的人8f ae
实际上代表什么。很可能是某种二进制标题,但绝对不是BOM。不过,显示的其余数据实际上是UCS-2/UTF-16。