一直覺得不是由中國人發明的計算機,卻可以使用漢字進行界面交互非常神奇。今天就來和大家聊一下關於漢字編碼的最底層的邏輯。
(1)漢字信息交換碼(國標碼)
漢字交換碼是指不同的具有漢字處理功能的計算機系統之間在交換漢字信息時所使用的代碼標準。
國家標準GB2312-80提出了中華人民共和國國家標準信息交換用漢字編碼,簡稱國標碼。國標碼有時又稱區位碼。
GB2312-80標準包括了6763個漢字,按其使用額度分為一級漢字3755個和二級漢字3008個。
一級漢字按拼音排序,二級漢字按部首排序。此外,該標準還包括標點符號、數種西文字母、圖形、數碼等符號682個。
區位碼的區碼和位碼均採用從01到94的十進位,國標碼採用十六進位的21H到7EH(數字後加H表示其為十六進位數)。
區位碼和國標碼的換算關係是:區碼和位碼分別加上十進位數32。如「國」字在表中的25行90列,其區位碼為2590,國標碼是397AH。
(2)漢字輸入碼(外碼)
輸入碼也叫外碼,是用來將漢字輸入到計算機中的一組鍵盤符號。
常用的輸入碼與拼音碼、五筆字型碼、自然碼、表形碼、認知碼、區位碼和電報碼等,一種好的編碼應有編碼規則簡單、易學好記、操作方便、重碼率低、輸入速度快等優點,每個人可根據自己的需要進行選擇。
(3)漢字機內碼
漢字機內碼,簡稱「內碼」。指計算機內部存儲、處理加工和傳輸漢字時所用的由0和1符號組成的代碼。輸入碼被接收後就由漢字作業系統的「輸入碼轉換模塊」轉換為機內碼,與所採用的鍵盤輸入法無關。
機內碼是漢字最基本的編碼且內碼是唯一的,不管是什麼漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被存儲和進行各種處理。
(4)漢字字型碼
字型碼是漢字的輸出碼,輸出漢字時都採用圖形方式,無論漢字的筆畫多少,每個漢字都可以寫在同樣大小的方塊中。
漢字字型碼通常有兩種表示方式:點陣和矢量(輪廓)表示方法。漢字字型通常分為通用型和精密型。
用點陣表示字型時,漢字字型碼指的是這個漢字字型點陣的代碼。根據輸出漢字的要求不同,點陣的多少也不同。簡易型漢字為16*16點陣,提高型漢字為24*24點陣、32*32點陣、48*48點陣等等。點陣規模越大,字型越清晰美觀,所佔存儲空間也越大。註:字型碼所佔字節數=點陣行數*點陣列數/8。
矢量表示方式存儲的是描述漢字字型的輪廓特徵,當要輸出漢字時,通過計算機的計算,由漢字字型描述生成所需大小和形狀的漢字點陣。
矢量化字型描述與最終文字顯示的大小、解析度無關,因此可以產生高質量的漢字輸出。Windows中使用的TrueType技術就是漢字的矢量表示方式。
(5)漢字地址碼
漢字地址碼是指漢字庫中存儲漢字字型信息的邏輯地址碼。
(6)各種漢字代碼之間的關係
漢字的輸入、處理和輸出的過程,實際上是漢字的各種代碼之間的轉換過程,或者說是漢字代碼在系統有關部件之間流動的過程。
漢字輸入碼向內碼的轉換,是通過使用輸入字典實現的。