windows內碼 外碼 字元對映表

2021-06-22 11:18:42 字數 1814 閱讀 9283

1.內碼和外碼

我們常說漢字的"內碼"與"外碼"。

內碼是漢字在計算機內部儲存,處理和傳輸用的資訊編碼。它必須與ascii碼相容但又不能衝突。

所以把國標碼兩個位元組的最高位置'1',以區別於西文,這就是內碼。漢字的輸入碼稱為"外碼"。輸入碼即指我們輸入漢字時使用的編碼。常見的外碼分為數字編碼(如區位碼),拼音編碼和字形編碼(如五筆)。

再說區位碼,"啊"的區位碼是1601,寫成16進製制是0x10,0x01。這和計算機廣泛使用的ascii編碼衝突。為了相容00-7f的 ascii編碼,我們在區位碼的高、低位元組上分別加上a0。這樣"啊"的編碼就成為b0a1。我們將加過兩個a0的編碼也稱為gb2312編碼,雖然 gb2312的原文根本沒提到這一點。 

內碼是指作業系統內部的字元編碼。早期作業系統的內碼是與語言相關的.現在的windows在內部統一使用unicode,然後用**頁適應各種語言," 內碼"的概念就比較模糊了。我們一般將預設**頁指定的編碼說成是內碼。內碼這個詞彙,並沒有什麼官方的定義。**頁也只是微軟的一種習慣叫法。作為程式 員,我們只要知道它們是什麼東西,沒有必要過多地考證這些名詞。

所謂**頁(code page)就是針對一種語言文字的字元編碼。例如gbk的code page是cp936,big5的code page是cp950,gb2312的code page是cp20936。

windows中有預設**頁的概念,即預設用什麼編碼來解釋字元。例如windows的記事本開啟了乙個文字檔案,裡面的內容是位元組流:ba、ba、 d7、d6。windows應該去怎麼解釋它呢?是按照unicode編碼解釋、還是按照gbk解釋、還是按照big5解釋,還是按照iso8859-1 去解釋?如果按gbk去解釋,就會得到"漢字"兩個字。按照其它編碼解釋,可能找不到對應的字元,也可能找到錯誤的字元。所謂"錯誤"是指與文字作者的本 意不符,這時就產生了亂碼。

答案是windows按照當前的預設**頁去解釋文字檔案裡的位元組流。預設**頁可以通過控制面板的區域選項設定。記事本的另存為中有一項ansi,其實就是按照預設**頁的編碼方法儲存。

windows的內碼是unicode,它在技術上可以同時支援多個**頁。只要檔案能說明自己使用什麼編碼,使用者又安裝了對應的**頁,windows就能正確顯示,例如在html檔案中就可以指定charset。

有的html檔案作者,特別是英文作者,認為世界上所有人都使用英文,在檔案中不指定charset。如果他使用了0x80-0xff之間的字元,中文 windows又按照預設的gbk去解釋,就會出現亂碼。這時只要在這個html檔案中加上指定charset的語句,例如:

如果原作者使用的**頁和iso8859-1相容,就不會出現亂碼了。???????????????????????? 

進一步的參考資料

"short overview of iso-iec 10646 and unicode"

2.字元對映表

字元對映表

是microsoft windows

作業系統

的功能,它可以查詢和輸入在

輸入法裡找不到的

字元。在字元對映表中,可以按一下「字型」選單,選取輸入字元的字型。

操作方法:

win+r輸入charmap+回車;

單擊「開始」按鈕 。在「搜尋」框中鍵入「字元對映表」,然後在結果列表中雙擊「字元對映表」;依次點開始、程式、附件、系統工具、字元對映表。

或:開始→所有程式→附件→系統工具→字元對映表。

開啟 字元對映表。

在「字型」列表中,鍵入或選中要使用的字型。

單擊想要插入到文件中的特殊字元。

單擊「選定」,然後單擊「複製」。

開啟文件,並在希望顯示特定字元的位置定位插入點。

在「編輯」選單上,單擊「貼上」。

漢字的內碼和外碼

輸入碼 又稱漢字外碼,無論是區位碼或國標碼都不利於輸入漢字,為方便漢字的輸入而制定的漢字編碼,稱為漢字輸入碼。漢字輸入碼屬於外碼。不同的輸入方法,形成了不同的漢字外碼。常見的輸入法有以下幾類 按漢字的排列順序形成的編碼 流水碼 如區位碼 按漢字的讀音形成的編碼 音碼 如全拼 簡拼 雙拼等 按漢字的字...

解碼字串

表示式s,只包含數字字母以及方括號,該表示式有如下規則 數字只會出現在方括號之前,它表示方括號裡內容的重複次數 按上述規則展開字串 示例1 e3 2 abc gh eabcabcghabcabcghabcabcgh 示例2e9 xyz exyzxyzxyzxyzxyzxyzxyzxyzxyz 示例3...

編碼字符集

gb2312 全稱中國標準第兩千三百一十二條,其中包含亞裔字符集 南韓文字 缺點不包括正體中文,但是台灣還在使用正體中文,於是就有了 gbk gbk 全稱中國標準第兩千三百一十二條擴充套件版本,就包含正體中文 unicode 全稱萬國碼,各個國家的文字都有 utf 8 最通用的,unicode的公升...