|
英文字母與符號用一個BYTE表示 (即為 ASCII Code)) 例如 a 值為 97, b 值為 98, A 值為 65, B 值為66, \ 值為 92, [ 值為 91, ] 值為 93 ...]X=wC[ ©昆蟲論壇 -- 昆蟲論壇 Hd" 但因為中文字數多H"I 無法使用一個BYTE來表示一個中文字2` 所以使用兩個BYTE來表示S2^{ ©昆蟲論壇 -- 昆蟲論壇 S 在繁體中文(Big5)編碼中nR}(b 第一個BYTE為負數> 第二個BYTE為正數f$i 乍看之下沒有問題r-< 但是當初編碼規則規定的不周密ZNq{rT 第二個BYTE的正數會與一些英文符號值一樣^,o6 U ©昆蟲論壇 -- 昆蟲論壇 $ EN 例如寫繁體程式的人常遇到的 "許功蓋" 編碼問題M 值分別為 許 = (-77 92), 功 = ( -91 92), 蓋 = ( -69 92)TB=; 第二個 BYTE 與符號 \ (92) 相衝Ab ©昆蟲論壇 -- 昆蟲論壇 M9 魔 = (-59 93) 與符號 ] (93) 相衝cQ, 包 = (-91 93) 與符號 ] (93) 相衝|idOw ©昆蟲論壇 -- 昆蟲論壇 *)X 但簡體編碼 (GB2312) 編碼方式不同則無此問題y8-5Ft 所以常常可看到大陸人寫的程式轉繁體中文就會出現衝碼字問題X 除非一開始設計就全都用 Unicode 編碼DUVzn ©昆蟲論壇 -- 昆蟲論壇 !z_ 不免要對 Big5 的編碼規則發發小牢騷 >.<ptD
| |