bom
這裡涉及到乙個bom(byte order mark)
的概念.簡單的講,在unicode標準中,為了標示文字檔案的編碼型別,可以在文字檔案的開始插入幾個特殊的byte,通過這幾個特殊的byte,應用
對於unicode,幾種編碼的bom如下:
utf-32, big-endian 檔案的前4個byte是:00 00 fe ff
utf-32, little-endian檔案的前4個byte是:ff fe 00 00
utf-16, big-endian檔案的前2個byte是:fe ff
utf-16, little-endian檔案的前2個byte是:ff fe
utf-8檔案的前3個byte是:ef bb bf
utf-7的規律特殊一點,不是前幾個byte,而是所有的byte轉換為十進位制都小於127.
使用ultraedit開啟乙個文字檔案,可以不用關心其編碼.(notepad建立的檔案的預設編碼還是當前code page設定的編碼,在簡體中文環境下是 cp936, 即gbk)
設定ultraedit當前的code page: 選擇 "view -> set code page", 然後選擇你需要的code page. 這樣後面執行的編碼轉換操作都是根據這裡設定的code page進行的.
選擇 "edit -> hex function -> hex edit" 進入hex編輯模式,這樣你可以輸入任意你需要的16進製制數字,例如 4e02(unicode) 或者 8140(gbk) ( "丂" )
轉換: 根據你當前的檔案的編碼,選擇 "file -> conversions -> unicode to
a
研究字元編碼的時候不要用UltraEdit32
主要是因為notepad這個程式作為乙個小工具,識別編碼的功能不方便做大。當文件中所有字元都在c0 aa df 80 bb bf這個範圍的時候,notepad都無法確認文件的格式,沒有自動按照utf 8格式來 display 聯通 就是c1 aa cd a8,剛好在上面的範圍內,所以不能正常顯示 網...
用chardet判斷字元編碼的方法
chardet 用來實現字串 檔案編碼檢測模板 python setup.py install2 例項 使用中,chardet.detect 返回字典,其中confidence是檢測精確度,encoding是編碼形式 1 網頁編碼判斷 import urllib rawdata urllib.url...
用chardet判斷字元編碼的方法
chardet 用來實現字串 檔案編碼檢測模板 python setup.py install2 例項 使用中,chardet.detect 返回字典,其中confidence是檢測精確度,encoding是編碼形式 1 網頁編碼判斷 import urllib rawdata urllib.url...