匿名使用者
匿名使用者 發問時間: 電腦與網際網路其他:電腦 · 2 0 年前

什麼是中文內碼?

請問什麼是中文內碼?

系統工具有個字元對應表,是什麼咧?

1 個解答

評分
  • 2 0 年前
    最佳解答

    英文系統內一樣有內碼。以一字節八位(8BITS)排列﹐共可得256個組合﹐即0至255。但由於英文字母加上大小寫及常用的符號後﹐也不到128個﹐所以在早期的電腦系統內﹐只用了0至127(即十六進制的00至7F)。後來IBM把127以後的位都全編上圖形﹐做成了256組合﹐至此英文的內碼編碼便是0至255(即00至FF)。

    西文由於基本字符少﹐所以用2的8次冪就能包涵所有的字元。它的內碼集共0至255﹐名為ASCII。

    中文呢﹖以字數較少的大陸GB字集來說﹐這個組合數(七千)已超過了一字節(8BITS)的256個組合。所以中文採用了二字節的編碼方法。二字節的組合數是2的16次冪﹐即65536。換言之﹐用這種方法﹐最多可以收編六萬五千多個中文字。

    中國大陸用二字節編碼﹐第一個漢字(啊)從十六進制的B021開始﹐一直到F7FE(齇)止﹐名為GB碼。

    台灣民間用二字節編碼﹐第一個漢字(一)從A440起﹐直排到F9D5(龘)﹐名為BIG5碼。台灣官方對外用的名為CNS碼或TCA碼。CNS碼即台灣的(“國家標準碼”)﹐與BIG5碼內漢字編碼集序﹐僅有四個字不同。而TCA碼即台灣的商界的公會碼。當然你還會聽過“倚天碼”這個編碼。它是“倚天”公司為了避開部分中文圖形碼在系統內被誤認為IBM的圖形碼﹐而自編的一套內碼。

    中文的內碼就是這麼一碼子事。你說簡單不簡單﹐明確不明確。

    內碼的轉換﹐說出來也很簡單。譬如要把“台灣”這兩個字從GB碼轉成BIG5碼。首先﹐我們先要知道它們的內碼。這二字的GB碼是“台”CCA8﹑“灣”CDE5﹔它的BIG5碼是“台”A578﹑“灣”C657。轉碼時﹐只要把CCA8改成A578﹐把CDE5改成C657便完了。

    但當你用坊間的譯碼程式轉碼後﹐再打開文件一看﹐你會看到轉碼後的是“台灣”二字而不是“台灣”。出了什麼問題﹖問題出在香港人的用字問題上。港人愛用“台灣”而不用“臺灣”。

    在BIG5字集內﹐“台”(A578)“臺”(BB47)兩字並存。在GB碼字集內﹐有“台”無“臺”﹐所以轉碼時﹐程式認為“台”是簡體字﹐把它轉成“臺”字。

    若你用的是GB碼繁體擴充字集﹐它會也有“台”“臺”二字。此時﹐若你打的是“台灣”而不是“臺灣”﹐那麼用坊間的轉碼程式轉碼後﹐會變成是“灣”(灣字之前的字不見了)。這就是為什麼中文的內碼經常令人頭大的原因。

    字元對應表 請參考底下這個 比較詳細

    http://input.foruto.com/microsoft/microsoft_017.ht...

    參考資料: 台灣微軟
還有問題?馬上發問,尋求解答。