Unicode 一个人能猜出二进制/十六进制数据的字符编码吗?

Unicode 一个人能猜出二进制/十六进制数据的字符编码吗?,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是可选的(即,有

我有一个如下开头的文件(hex from
od-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是可选的(即,有带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。