代碼第437頁

代碼第437頁
代碼第437頁,由IBM PC使用標準VGA渲染
Mime / Iana IBM437
別名 CP437,437,CSPC8 CodePage437,OEM-US
語言 英語德語瑞典
分類 擴展ASCIIOEM代碼頁面
擴展 美國
其他相關編碼 代碼第850頁CWI-2

代碼第437頁CCSID 437)是原始IBM PC (個人計算機)的字符集。它也被稱為CP437,OEM-US,OEM 437,PC-8或DOS Latin US。該集合包括所有可打印的ASCII字符以及一些重音字母(變音符號),希臘字母,圖標和繪製線條符號。有時將其稱為“ OEM字體”或“高ASCII”,或“擴展的ASCII ”(許多相互不相容的ASCII擴展之一)。

該字符集仍然是任何EGAVGA兼容圖形卡的核心中的主要集合。因此,通常使用此字符集呈現PC重新啟動(可以加載和渲染)之前顯示的文本。 IBM PC時開發的許多文件格式也基於代碼第437頁。

顯示適配器

原始的IBM PC包含該字體,作為一個9×14像素字體,該字體存儲在IBM單色顯示適配器(MDA)8×8 Pixels-pharacter-the Color圖形適配器CGA )的8×8像素字體中牌。 IBM增強圖形適配器(EGA)包含一個8×14像素的每個字符版本, VGA包含9×16版本。

所有這些顯示適配器都有文本模式,每個字符單元包含一個8位字符代碼點(請參閱詳細信息),為圖形字符提供256個可能的值。所有256個代碼均在ROM中分配一個圖形字符,包括在ASCII中保留的0到31的代碼,用於非射擊控製字符。

各種東歐PC使用了不同的角色集,有時可以通過跳線或CMOS設置來選擇用戶。這些集合旨在盡可能匹配437,例如,為許多繪製字符共享代碼點,同時仍允許顯示本地語言的文本。

Alt代碼

代碼遺產第437頁是Windows Alt代碼中使用的數字組合。 DOS用戶可以通過按住Alt鍵並輸入NUMPAD上的字符代碼來輸入字符,許多用戶記住CP437(或類似的CP850 )所需的數字。儘管Microsoft Windows使用了不同的字符集,例如CP1252 ,但原始數字是模擬的,因此用戶可以繼續使用它們。 Microsoft添加了通過在數字之前鍵入0的Windows字符中鍵入代碼的功能。

字符集

以下表顯示代碼第437頁。每個字符均以其等效的Unicode代碼點顯示(當它不等於字符的代碼時)。工具提示通常僅在一個點到字符的立即左邊時可用,顯示了Unicode代碼點名稱和十進制ALT代碼。另請參見下面的註釋,因為某些代碼點有多個等效的Unicode字符。

儘管ROM為所有256個不同可能的8位代碼提供了圖形,但某些API將不會打印某些代碼點,特別是范圍0-31,而代碼為127。相反,它們會將其解釋為控制字符。例如,在原始IBM PC上輸出文本的許多方法都可以解釋BELBSCRLF的代碼。許多打印機也無法打印這些字符。

代碼第437頁
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x
0
nul
263a

263b

2665

2666

2663

2660

2022

25d8

25CB

25d9

2642

2640

266a

266b

263c
1倍
16

25BA

25C4

2195

203C

00b6
§
00A7

25AC

21a8

2191

2193

2192

2190

221f

2194

25B2

公元前25年
2倍
32
 sp  ! " # $ % & ' ( ) * + , - . /
3倍
48
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x
64
@ A B C D E F G H I J K L M N O
5倍
80
P Q R S T U V W X Y z [ \ ] ^ _
6倍
96
` a b c d e f G h j k l m n o
7x
112
p q r s t v w x y z { | } ~
2302
8x
128
Ç
00C7
ü
00FC
é
00E9
â
00E2
ä
00E4
à
00E0
å
00E5
ç
00E7
ê
00EA
ë
00EB
è
00E8
ï
00ef
î
00EE
ì
00EC
Ä
00C4
Å
00C5
9x
144
É
00C9
æ
00E6
Æ
00C6
ô
00F4
ö
00F6
ò
00F2
û
00FB
ù
00F9
ÿ
00ff
Ö
00D6
Ü
00DC
¢
00A2
£
00A3
¥
00A5

20a7
ƒ
0192
斧頭
160
á
00E1
í
00ED
ó
00F3
ú
00FA
ñ
00F1
Ñ
00D1
ª
00AA
º
00BA
¿
00bf

2310
¬
00ac
½
00BD
¼
00BC
¡
00A1
«
00AB
»
00BB
Bx
176

2591

2592

2593

2502

2524

2561

2562

2556

2555

2563

2551

2557

255d

255c

255b

2510
CX
192

2514

2534

252C

251c

2500

253c

255e

255f

255a

2554

2569

2566

2560

2550

256C

2567
DX
208

2568

2564

2565

2559

2558

2552

2553

256b

256a

2518

250C

2588

2584

258c

2590

2580
前任
224
α
03b1
ß
00DF
Γ
0393
π
03c0
Σ
03A3
σ
03C3
µ
00b5
τ
03C4
Φ
03A6
Θ
0398
Ω
03A9
δ
03b4

221e
φ
03c6
ε
03b5

2229
fx
240

2261
±
00b1

2265

2264

2320

2321
÷
00F7

2248
°
00b0

2219
·
00B7

221a

207f
²
00b2

25a0
NBSP
00A0
 符號和標點符號

當轉換為Unicode時,某些代碼沒有唯一的單一unicode等效。正確的選擇可能取決於上下文。

  1. 0繪製空白空間,但是用作C字符串終結器表示它被更準確地翻譯為nul
  2. 在IBM的GCGID角色ID系統中,這是SM910000,簡單地註釋為“兩個音符”;但是,參考字形顯示了兩個光束的半標準[u+266c,♬]。如圖所示的映射到光束的耶和華[U+266b,♫]遵循Unicode財團提供的數據。在IBM日本主機代碼的規範中,SM910080(即帶有全寬屬性集的SM910000)明確映射到U+266C,同樣顯示兩個半詞。
  3. 124(7C十六進制)該位置的實際字形是原始MDA呈現的原始IBM PC兼容字體中的損壞的欄[u+00a6,]。此渲染後來被CGAEGAVGA採用(請參閱文章開頭的圖像)。但是,幾乎所有軟件都假定此代碼是ASCII字符[U+007C,|];例如,編程語言將其用作“或”。在1990年代初期,澄清說, ASCII中有垂直條的位置,而破碎的條形符號不是ASCII的一部分。
  4. 127(7F HEX )是“房屋”,但有時也用作希臘資本三角洲[U+0394,δ]。
  5. 也可以用作IBM字體中的積分擴展[u+23ae,⎮]。
  6. E0中的字符與各種IBM產品的EF範圍的比較。
    IBM將225(E1 HEX )鑑定為拉丁語“ Small” [U+00DF,ß],但有時在OEM字體中呈現為希臘小beta [u+03b2,β]。這個拉丁角色在希臘角色中的位置表明了預期的多用途。
  7. IBM將227(E3 HEX )識別為希臘“ Pi Small” [U+03C0,π],但有時在OEM字體中呈現為Greek Capital Pi [U+03A0,π]或N- ARY產品符號[U+++ 220f, ∏]。
  8. IBM將228(E4 HEX )識別為希臘語“ Sigma Capital” [U+03A3,σ],但也用作N- ARY求和符號[U+2211,∑]。
  9. IBM將230(E6 HEX )鑑定為希臘語“ Mu Small” [U+03BC,μ],但也用作微型符號[U+00B5,µ]。在Unicode中,IBM的希臘GCGID表將此代碼頁中的字符映射到希臘字母中,但是例如, Python將其映射到微標誌。
  10. IBM將233(E9 HEX )識別為希臘語“ Theta Capital” [U+0398,θ]。但是,這些符號用於數學和物理學,其中小寫theta更常用(例如極性坐標)。
  11. 234(EA HEX )由IBM識別為希臘語“ Omega Capital” [U+03A9,ω],但也被用作OHM符號[U+2126,ω]。 Unicode認為字符是等效的,並建議在這兩種情況下使用U+03A9。
  12. IBM將235(EB HEX )鑑定為希臘語“ delta small” [u+03b4,δ]。它也非正式地用於小eth [u+00f0,ð]和部分導數符號[u+2202,∂]
  13. 237(ED HEX )由IBM識別為希臘語“ Phi Small(封閉形式)” [U+03D5,ϕ;或者,從斜體數學集中,u+1d719,𝜙],但在某些編解碼器(例如Python的編解碼器庫)中,將其映射到Unicode作為開放(或“ loopopy”)形式[u+03c6 ,φ]。 IBM的希臘GCGID表與Unicode的希臘代碼圖的比較顯示了IBM在映射到Unicode時逆轉開放和封閉式的位置。該字符還用作空心符號[u+2205,∅],直徑符號[u+2300,⌀]和帶有衝程的拉丁字母o [u+00d8,Ø;和u+00f8,Ø]。
  14. IBM將238(EE HEX )識別為希臘語“ Epsilon Small” [U+03B5,ε],但有時將OEM字體呈現為符號[U+2208,∈]。它通常被用作歐元標誌[U+20AC,€]
  15. 244(F4 HEX )和245(F5 HEX )是積分符號(∫)的上部和下部,並且可以用字符179(B3 Hex )(盒子繪製塊的垂直線)進行擴展。 244也可以用於長S角色[u+017f, ^]。
  16. 249(F9六角)和250(FA HEX )幾乎是無法區分的:第一個比第二個稍大,兩者都用作子彈中點乘法點[U+2219,∙]
  17. 有時還將251(FB十六進制)用作檢查標記[U+2713,✓]。
  18. 255(FF十六進制)繪製空白;用作非破壞空間(NBSP)在為IBM PC設計的文字處理器中具有先例。

歷史

根據比爾·蓋茨(Bill Gates)在1995年10月2日發行的《財富》雜誌:

“……我們也對王的專用文字處理器著迷,因為我們相信通用機器也可以做到這一點。這就是為什麼當需要為IBM PC設計鍵盤時,我們將王的角色設置在機器中- 您知道,笑臉,盒子,三角形和東西。我們認為有一天我們想製作王文字處理軟件的克隆。”

根據David J. Bradley (PC的ROM-BIOS的開發人員)的採訪,角色是在四個小時的會議上決定了Andy Saenz(負責視頻卡)的四個小時的飛機旅行,Lew Eggebrecht (PC的首席工程師)和他本人。

圖形字符的選擇具有一些內部邏輯:

  • 表行0和1,代碼為0到31(00 HEX至1F十六進制),是各種丁字鳥(互補和裝飾性字符)。孤立的字符127(7F十六進制)也屬於這一組。
  • 表行2至7,代碼32至126(20個十六進制是標準的ASCII可打印字符。
  • 表排8到10,代碼128至175(80六角六角)是一系列國際文本字符。
  • 表排11至13,代碼176至223(B0十六進制到DF十六進制),是盒子繪圖字符。安排了該塊,以便角色192至223(C0 HEX到DF十六進制)都包含所有正確的手臂和右側的區域。原始的IBM PC MDA顯示器適配器存儲了代碼第437頁字符,因為位圖寬為8個像素,但對於視覺增強,屏幕上的每九個像素都會顯示它們。該字符範圍的第八像素列通過特殊的硬件電路重複,因此填補了線路和填充區域的空白。 VGA適配器允許打開或關閉此行為。
  • 表行14和15,代碼224至254(E0 hex至Fe Hex )專門用於數學符號,其中前十二個是物理中常用的希臘字母的選擇。

Microsoft Windows的大多數字體都包含所示Unicode索引的特殊圖形字符,因為它們是Microsoft鼓勵字體設計人員支持的WGL4集的一部分。 (單層面的柵格字體家庭終端是一種早期字體,它重複了所有代碼第437個字符,至少在某些分辨率下。)要直接從這些代碼點繪製這些字符, Microsoft Windows字體稱為MS LinedRaw,重複了所有代碼第437頁。字符,因此提供了一種在現代Windows機器上顯示DOS文本的方法,如DOS所示,並具有限制。

代碼第1055頁,也稱為HP符號集0L,是一個子集,其中包括盒子繪製,半塊,黑色圓圈(黑色圓圈代替了子彈,它代替了此代碼頁中的中間點)和黑色正方形並將它們移至上半部分;還包括該空間。

國際化

Code Page 437具有一系列國際角色,主要價值128至175(80 HEX到AF HEX )。但是,它僅涵蓋幾種全部主要的西歐語言,包括英語德語瑞典語,因此對許多主要的西歐語言很重要(主要是大寫字母):

  • 西班牙語:Á,í,ó和ú
  • 法語:à,â,è,¶,ë,,â,, - , - , - ,◆
  • 葡萄牙語:Á,à,â,â,â,¶,í,Ó,
  • 加泰羅尼亞:à,è,í,!,,Ó和ú
  • 意大利語:à,è,è,¶,ac和ù
  • 冰島:Á,ð,ð,í,Ó,ú,f,歧,þ和Þ
  • 丹麥/挪威語:Ø和Ø。角色編號237(ED HEX ),小PHI(封閉形式),即使它可能無法很好地渲染(此外,它傾向於將其映射到Unicode和/或以Unicode字體為單位)作為替代品(此外) -形式的phi或閉合形式的phi,與中風更遠)。為了補償,丹麥/挪威語冰島法典頁面( 865861 )用Ø取代了Cent Sign(¢),並用Ø賦予了凡符號(¥)。
  • 大多數希臘字母符號被省略了,超出了基本的數學符號。 (它們被包括在希臘語言代碼第737869頁中。如果他們的字形從數學或科學形式更改以匹配希臘語中的實際用途,則已經在Code Page 437中的一些希臘符號。)

除了百分比(¢),英鎊(£)和日元/(¥)貨幣符號外,它具有幾個以前的歐洲貨幣符號:佛羅林(荷蘭)和佩塞塔(荷蘭)(西班牙)。最後的存在是不尋常的,因為西班牙佩斯塔從來都不是國際上相關的貨幣,也從來沒有自己的象徵。它只是縮寫為“ PT”,“ PTA”,“ PTS”或“ PTA”。但是,西班牙電動打字機的西班牙模型也有一個專門的位置。

後來的DOS字符集,例如Code Page 850 (DOS Latin-1),代碼第852頁(DOS Central-European)和Code Page 737 (DOS Greek)(DOS Greek),填補了國際用途的空白,並通過保留代碼的兼容性,通過保留代碼與代碼進行了兼容。單個和雙盒繪製字符,同時丟棄混合的字符(例如水平雙/垂直單個)。所有代碼437個字符在Unicode和Microsoft的WGL4字符集中都具有相似的字形,因此在Microsoft Windows的大多數字體中都可以使用,也可以在Linux內核的默認VGA字體中以及X11ISO 10646字體中使用。

也可以看看