-1
我有如下開頭的文件(十六進制從od -x <filename>
)能猜一個字符編碼看二進制/十六進制數據嗎?
8fae 3800 7c00 2200 4300 6800 6100 7200
對應的字符是
®8| 「C HAR
它被預期爲8|"Char
,從編號8和管道字符等。
- 是對前兩個字節
8fae
某種報頭或BOM的? - 我可以假設編碼是UTF-16?
我有如下開頭的文件(十六進制從od -x <filename>
)能猜一個字符編碼看二進制/十六進制數據嗎?
8fae 3800 7c00 2200 4300 6800 6100 7200
對應的字符是
®8| 「C HAR
它被預期爲8|"Char
,從編號8和管道字符等。
8fae
某種報頭或BOM的?他們首先字符可能是BOM雖然他們不眼熟。UTF-8使用0xEF,爲0xBB,爲0xBF而UTF-16使用U + FEFF或0xFE的, 0xFF的。
請記住BOM對於UTF-8是可選的(即,有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。 –