精華區beta Programming 關於我們 聯絡資訊
> ==>發信人: =?big5?B?5qPmow==?= <devil@tainan.com.tw.x>, 信區: programming > 所以以微軟之能,也是在純文字檔前面加上 FFFE 來控制阿... > ^_^ > ==> 本文由 "sonet <sonet.all@msa.hinet.net>" > > 於 news:emauia%243f8%241%40netnews.hinet.net 發表 > > utf8 即使是判斷到第三個bytes 也可能是big5 ,如果是這種情況;為何大部分的程式 > > 不會錯亂?兩個字集似乎有重疊的部份而且找不到100%的正確判斷方式,不知道怎 > > 麼做可以比較精確 > > utf-8 > > x00..x7F > > xC2..xDF x80..xBF > > xE0 xA0..xBF x80..xBF > > xE1..xEC x80..xBF x80..xBF > > xED x80..x9F x80..xBF > > xEE..xEF x80..xBF x80..xBF > > xF0 x90..xBF x80..xBF x80..xBF > > xF1..xF3 x80..xBF x80..xBF x80..xBF > > xF4 x80..x8F x80..xBF x80..xBF > > > > Big5 > > xA1..xF9 x40..x7E or xA1..xFE > 1. 假如是純中文字串, utf-8 的 byte 數是 3 的倍數, 且每個 byte 都是 > 80 2. big5 是 2 的倍數 bytes, 假設開頭為第一個, 其奇數 byte > 80 3. 在 (2, 3) 的公倍數長度時, 只靠 range check 就很難正確判斷區分, 但如果 有詞典在, 找不出有意義的字串就可能是假定的碼別錯誤. 4. 曾經以十萬筆由使用者實驗登錄的名稱轉成 UTF-8 , BIG5, GBK 三者混雜在一 起, 做過判別實驗, 不用詞典, 依靠 range check 要判定出 UTF8 字串部份幾乎 都不曾出錯, 但只有一筆是大陸的一筆奇特的三個字的地名, 其 Big5 的 6 個 bytes 會被誤判為 UTF-8 . 5. 字串越長越容易被用連續機率判斷出來. 6. 常用字其實很少, 可以用常用字過濾比用詞典簡單. 那個十萬筆幾乎都是常用 字組成的. 7. 漢字怎麼會淪落到靠洋公司來替使用漢字的人解決問題 ? -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234
ephesians:這洋公司華人也不少218.160.215.125 01/05 18:51