可以猜一下字符编码看二进制/十六进制数据吗?

时间:2015-04-16 23:31:23

标签: unicode utf-8 character-encoding utf-16

我有一个文件,如下所示(od -x <filename>中的十六进制)

  

8fae 3800 7c00 2200 4300 6800 6100 7200

相应的字符是

  

®8| “C h a r

预计为8|"Char,从数字8和管道字符开始,依此类推。

  1. 前两个字节8fae是某种标头还是BOM?
  2. 我可以假设编码是UTF-16吗?

1 个答案:

答案 0 :(得分:1)

他们的第一个字符可能是BOM,虽然它们看起来并不熟悉。 UTF-8使用0xEF,0xBB,0xBF,而UTF-16使用U + FEFF或0xFE,0xFF。

请记住,对于UTF-8,BOM是可选的(即带有BOM的UTF-8,没有BOM的UTF-8)。不幸的是,当没有BOM时,很难安全地识别文件的编码。有些库或插件使用字符词典来猜测编码。