關於這點,真的是有夠麻煩的,我經常寫php,php通常UTF-8的網頁都是 "一個中文字"
轉成三個Ascii碼,現在才開始研究,到底要怎樣才可以像 VB 一樣 轉成 5位數的代碼。
又或者 VB 轉成 UTF-8形式的 3 個 ASCII。
好吧,結果出來了。
Unicode 介於 2048(800) ~ 65535(ffff) 之間:
套用形式:
1110****
10******
10******
比如:「我」,Unicode 為 25105 (6211),介於上述的情況。
所以:轉成 2進位 110001000010001
切成 三等分,第一等分 四位數,第二等分 六位數,第三等份六位數。不足則補0。
所以變成 0110001000010001,切割後變成:
0110
001000
010001
套進去變成
11100110
10001000
10010001
轉回 10 進位:
230
136
145
形成 UTF8形式的 三個ASCII碼。
另外,介於 128(80) ~ 2047(7ff) 間 則是另一個形式。
110*****
10******
大概就這樣。
有夠複雜的。
其實網頁 也可以 直譯 ASCII碼。
ABC
ABC
這是測試
這是測試
我自己本身也寫了 PHP函數 轉 成 像 VB那樣的UTF16
再次更新,這個PHP代碼速度更快。
又寫了等價VB的ChrW於PHP版。