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無(wú)法正常顯示中文, 或者其他字符, 通過(guò)chcp 來(lái)修改, 參數(shù)是nnn代表3個(gè)數(shù)字. 簡(jiǎn)體中文的codepage是: 936 西文是:1252



Code page 的歷史:




1. Codepage的定義和歷史

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


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

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

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

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




例如936代表簡(jiǎn)體中文. 950代表繁體中文. 




1.1 CJK Codepage 

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


CP932 


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


CP936 


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


CP949 


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


CP950 


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


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



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

IBM的Codepage分為SBCS和DBCS兩種: 


IBM SBCS Codepage 



37 (英文) * 

290 (日文) * 

833 (韓文) * 

836 (簡(jiǎn)體中文) * 

891 (韓文) 

897 (日文) 

903 (簡(jiǎn)體中文) 

904 (繁體中文) 

IBM DBCS Codepage 


300 (日文) * 

301 (日文) 

834 (韓文) * 

835 (繁體中文) * 

837 (簡(jiǎn)體中文) * 

926 (韓文) 

927 (繁體中文) 

928 (簡(jiǎn)體中文) 

將SBCS的Codepage和DBCS的Codepage混合起來(lái)就成為: IBM MBCS Codepage 


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

932 (日文) (Codepage 301 加 897) 

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

934 (韓文) (Codepage 926 加 891) 

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

936 (簡(jiǎn)體中文) (Codepage 928 加 903) 

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

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

*代表采用EBCDIC編碼格式 


由此可見(jiàn),Mircosoft的CJK Codepage來(lái)源于IBM的Codepage 


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)