[請益] ANSI 與 Unicode 互轉的方法

看板Programming作者 (Rex)時間17年前 (2009/01/19 23:06), 編輯推噓6(6016)
留言22則, 9人參與, 最新討論串1/2 (看更多)
最近剛完成的專案碰到 ANSI 與 Unicode 編碼的相關問題 嚴格來說,其實是 Big-5 和 Unicode 轉碼的問題 雖然最後用現成的程式處理,但還是滿想知道實作的方式 想請問大大們,哪裡有可以找到比較簡單易懂的 ANSI 與 Unicode (含Unicode-BE、UTF-8) 互轉的演算法、規則或現成可用的函式 (總之就是想學習怎麼實作 ANSI <-> Unicode) 或是有大大願意親自解說嗎? ~ 非常感謝 ~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.18.7

01/19 23:16, , 1F
PHP 上有 iconv 可以用
01/19 23:16, 1F

01/20 01:22, , 2F
很多都要靠查表,windows下有win32 API
01/20 01:22, 2F

01/20 01:25, , 3F
unxi有iconv 或是自己使用其他的表
01/20 01:25, 3F

01/20 04:33, , 4F
內建的對照表檔我不清楚,弄懂 unicode
01/20 04:33, 4F

01/20 04:34, , 5F
就差不多知道怎麼回事 2 byte ->4 byte
01/20 04:34, 5F

01/20 04:35, , 6F
英文就成了 1 byte -> 4 byte
01/20 04:35, 6F

01/20 04:37, , 7F
也剛好 64 位元的系統 一個字元 64 bits
01/20 04:37, 7F

01/20 04:39, , 8F
文字檔頭有加頁碼別代碼
01/20 04:39, 8F

01/20 04:44, , 9F
exp. 'a' 0x61 ansi 0-> U+0061 unicode
01/20 04:44, 9F

01/20 04:44, , 10F
exp. 'a' 0x61 ansi -> U+0061 unicode
01/20 04:44, 10F

01/20 04:47, , 11F
這是簡單的 ASCII 裡 英文轉 Unicode
01/20 04:47, 11F

01/20 04:49, , 12F
而像Big5,GB code...一定得靠對照表轉換
01/20 04:49, 12F

01/20 04:50, , 13F
所以在轉換作業系統32->64時,又會頭暈
01/20 04:50, 13F

01/20 04:51, , 14F
什麼時候需要轉換?什麼時候依賴系統?...
01/20 04:51, 14F

01/20 05:05, , 15F
啊~我弄錯了 uni-code 是 32 bits不是64
01/20 05:05, 15F

01/20 05:08, , 16F
所以英,外文由1 或中文 2 byte ->2byte
01/20 05:08, 16F

01/20 10:32, , 17F
原來如此,感謝樓上大大們的解說
01/20 10:32, 17F

01/20 23:37, , 18F
其實很多現有流行的語言都有提供api可參考
01/20 23:37, 18F

01/21 00:37, , 19F
推 api
01/21 00:37, 19F

01/21 08:57, , 20F
unicode好像有很多版本 不一定是32
01/21 08:57, 20F

01/21 18:53, , 21F
俗稱的 wide char 或 Unicode 其實是UTF-32
01/21 18:53, 21F

01/26 10:06, , 22F
01/26 10:06, 22F
文章代碼(AID): #19T9Ru_h (Programming)
文章代碼(AID): #19T9Ru_h (Programming)