作者henry035 (Rex)
看板Programming
標題[請益] ANSI 與 Unicode 互轉的方法
時間Mon Jan 19 23:06:31 2009
最近剛完成的專案碰到 ANSI 與 Unicode 編碼的相關問題
嚴格來說,其實是 Big-5 和 Unicode 轉碼的問題
雖然最後用現成的程式處理,但還是滿想知道實作的方式
想請問大大們,哪裡有可以找到比較簡單易懂的
ANSI 與 Unicode (含Unicode-BE、UTF-8) 互轉的演算法、規則或現成可用的函式
(總之就是想學習怎麼實作 ANSI <-> Unicode)
或是有大大願意親自解說嗎?
~ 非常感謝 ~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.18.7
1F:推 foxzgerald:PHP 上有 iconv 可以用218.175.174.247 01/19 23:16
2F:→ a127a127:很多都要靠查表,windows下有win32 API 61.31.135.12 01/20 01:22
3F:→ a127a127:unxi有iconv 或是自己使用其他的表 61.31.135.12 01/20 01:25
4F:→ iem743069:內建的對照表檔我不清楚,弄懂 unicode 123.204.96.38 01/20 04:33
5F:→ iem743069:就差不多知道怎麼回事 2 byte ->4 byte 123.204.96.38 01/20 04:34
6F:→ iem743069:英文就成了 1 byte -> 4 byte 123.204.96.38 01/20 04:35
7F:→ iem743069:也剛好 64 位元的系統 一個字元 64 bits 123.204.96.38 01/20 04:37
8F:→ iem743069:文字檔頭有加頁碼別代碼 123.204.96.38 01/20 04:39
9F:→ iem743069:exp. 'a' 0x61 ansi 0-> U+0061 unicode 123.204.96.38 01/20 04:44
10F:→ iem743069:exp. 'a' 0x61 ansi -> U+0061 unicode 123.204.96.38 01/20 04:44
11F:→ iem743069:這是簡單的 ASCII 裡 英文轉 Unicode 123.204.96.38 01/20 04:47
12F:→ iem743069:而像Big5,GB code...一定得靠對照表轉換 123.204.96.38 01/20 04:49
13F:→ iem743069:所以在轉換作業系統32->64時,又會頭暈 123.204.96.38 01/20 04:50
14F:→ iem743069:什麼時候需要轉換?什麼時候依賴系統?... 123.204.96.38 01/20 04:51
15F:推 iem743069:啊~我弄錯了 uni-code 是 32 bits不是64 123.204.96.38 01/20 05:05
16F:→ iem743069:所以英,外文由1 或中文 2 byte ->2byte 123.204.96.38 01/20 05:08
17F:→ henry035:原來如此,感謝樓上大大們的解說 220.133.18.7 01/20 10:32
18F:推 kimkao:其實很多現有流行的語言都有提供api可參考 59.104.129.22 01/20 23:37
19F:推 roga:推 api220.130.223.207 01/21 00:37
20F:推 aknow:unicode好像有很多版本 不一定是32 59.115.160.68 01/21 08:57
21F:→ ppaass:俗稱的 wide char 或 Unicode 其實是UTF-32118.169.131.238 01/21 18:53