Code Page 的概念及其設(shè)置值

2018-05-16 13:50 更新

CMD中CODE PAGE的概念及其設(shè)置值:


Chcp

Displays the number of the active console code page, or changes the console's active console code page. Used without parameters, chcp displays the number of the active console code page.

Syntax

chcp [nnn]

Parameters

nnn : Specifies the code page. The following table lists each code page supported and its country/region or language: 

Code page        Country/region or language

437        United States

850        Multilingual (Latin I)

852        Slavic (Latin II)

855        Cyrillic (Russian)

857        Turkish

860        Portuguese

861        Icelandic

863        Canadian-French

865        Nordic

866        Russian

869        Modern Greek

什么是code page, 怎么修改windows cmd中的codepage



如果你的cmd無法正常顯示中文, 或者其他字符, 通過chcp 來修改, 參數(shù)是nnn代表3個數(shù)字. 簡體中文的codepage是: 936 西文是:1252



Code page 的歷史:




1. Codepage的定義和歷史

字符內(nèi)碼(charcter code)指的是用來代表字符的內(nèi)碼.讀者在輸入和存儲文檔時都要使用內(nèi)碼,內(nèi)碼分為 


單字節(jié)內(nèi)碼 -- Single-Byte character sets (SBCS),可以支持256個字符編碼.

雙字節(jié)內(nèi)碼 -- Double-Byte character sets)(DBCS),可以支持65000個字符編碼.主要用來對大字符集的東方文字進(jìn)行編碼. 

codepage 指的是一個經(jīng)過挑選的以特定順序排列的字符內(nèi)碼列表,對于早期的單字節(jié)內(nèi)碼的語種,codepage中的內(nèi)碼順序使得系統(tǒng)可以按照此列表來根據(jù)鍵盤的輸入值給出一個對應(yīng)的內(nèi)碼.對于雙字節(jié)內(nèi)碼,則給出的是MultiByte到Unicode的對應(yīng)表,這樣就可以把以Unicode形式存放的字符轉(zhuǎn)化為相應(yīng)的字符內(nèi)碼,或者反之,在Linux核心中對應(yīng)的函數(shù)就是utf8_mbtowc和utf8_wctomb. 

在1980年前,仍然沒有任何國際標(biāo)準(zhǔn)如ISO-8859或Unicode來定義如何擴(kuò)展US-ASCII編碼以便非英語國家的用戶使用.很多IT廠商發(fā)明了他們自己的編碼,并且使用了難以記憶的數(shù)目來標(biāo)識: 




例如936代表簡體中文. 950代表繁體中文. 




1.1 CJK Codepage 

同 Extended Unix Coding ( EUC )編碼大不一樣的是,下面所有的遠(yuǎn)東 codepage 都利用了C1控制碼 { =80..=9F } 做為首字節(jié), 使用ASCII值 { =40..=7E { 做為第二字節(jié),這樣才能包含多達(dá)數(shù)萬個雙字節(jié)字符,這表明在這種編碼之中小于3F的ASCII值不一定代表ASCII字符. 


CP932 


Shift-JIS包含日本語 charset JIS X 0201 (每個字符一個字節(jié)) 和 JIS X 0208 (每個字符兩個字節(jié)),所以 JIS X 0201平假名包含一個字節(jié)半寬的字符,其剩馀的60個字節(jié)被用做7076個漢字以及648個其他全寬字符的首字節(jié).同EUC-JP編碼區(qū)別的是, Shift-JIS沒有包含JIS X 202中定義的5802個漢字. 


CP936 


GBK 擴(kuò)展了 EUC-CN 編碼( GB 2312-80編碼,包含 6763 個漢字)到Unicode (GB13000.1-93)中定義的20902個漢字,中國大陸使用的是簡體中文zh_CN. 


CP949 


UnifiedHangul (UHC) 是韓文 EUC-KR 編碼(KS C 5601-1992 編碼,包括2350 韓文音節(jié)和 4888 個漢字a)的超集,包含 8822個附加的韓文音節(jié)( 在C1中 ) 


CP950 


是代替EUC-TW (CNS 11643-1992)的 Big5 編碼(13072 繁體 zh_TW 中文字) 繁體中文,這些定義都在Ken Lunde的 CJK.INF中或者 Unicode 編碼表中找到. 


注意: Microsoft采用以上四種Codepage,因此要訪問Microsoft的文件系統(tǒng)時必需采用上面的Codepage . 



1.2 IBM的遠(yuǎn)東語言Codepage 

IBM的Codepage分為SBCS和DBCS兩種: 


IBM SBCS Codepage 



37 (英文) * 

290 (日文) * 

833 (韓文) * 

836 (簡體中文) * 

891 (韓文) 

897 (日文) 

903 (簡體中文) 

904 (繁體中文) 

IBM DBCS Codepage 


300 (日文) * 

301 (日文) 

834 (韓文) * 

835 (繁體中文) * 

837 (簡體中文) * 

926 (韓文) 

927 (繁體中文) 

928 (簡體中文) 

將SBCS的Codepage和DBCS的Codepage混合起來就成為: IBM MBCS Codepage 


930 (日文) (Codepage 300 加 290) * 

932 (日文) (Codepage 301 加 897) 

933 (韓文) (Codepage 834 加 833) * 

934 (韓文) (Codepage 926 加 891) 

938 (繁體中文) (Codepage 927 加 904) 

936 (簡體中文) (Codepage 928 加 903) 

5031 (簡體中文) (Codepage 837 加 836) * 

5033 (繁體中文) (Codepage 835 加 37) * 

*代表采用EBCDIC編碼格式 


由此可見,Mircosoft的CJK Codepage來源于IBM的Codepage 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號