代碼第437頁
Mime / Iana | IBM437 |
---|---|
別名 | CP437,437,CSPC8 CodePage437,OEM-US |
語言 | 英語,德語,瑞典 |
分類 | 擴展ASCII , OEM代碼頁面 |
擴展 | 美國 |
其他相關編碼 | 代碼第850頁, CWI-2 |
代碼第437頁( CCSID 437)是原始IBM PC (個人計算機)的字符集。它也被稱為CP437,OEM-US,OEM 437,PC-8或DOS Latin US。該集合包括所有可打印的ASCII字符以及一些重音字母(變音符號),希臘字母,圖標和繪製線條符號。有時將其稱為“ OEM字體”或“高ASCII”,或“擴展的ASCII ”(許多相互不相容的ASCII擴展之一)。
該字符集仍然是任何EGA和VGA兼容圖形卡的核心中的主要集合。因此,通常使用此字符集呈現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上輸出文本的許多方法都可以解釋BEL , BS , CR和LF的代碼。許多打印機也無法打印這些字符。
代碼第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等效。正確的選擇可能取決於上下文。
- 0繪製空白空間,但是用作C字符串終結器表示它被更準確地翻譯為nul
- 在IBM的GCGID角色ID系統中,這是SM910000,簡單地註釋為“兩個音符”;但是,參考字形顯示了兩個光束的半標準[u+266c,♬]。如圖所示的映射到光束的耶和華[U+266b,♫]遵循Unicode財團提供的數據。在IBM日本主機代碼的規範中,SM910080(即帶有全寬屬性集的SM910000)明確映射到U+266C,同樣顯示兩個半詞。
- 124(7C十六進制)該位置的實際字形是原始MDA呈現的原始IBM PC和兼容字體中的損壞的欄[u+00a6,]。此渲染後來被CGA , EGA和VGA採用(請參閱文章開頭的圖像)。但是,幾乎所有軟件都假定此代碼是ASCII字符[U+007C,|];例如,編程語言將其用作“或”。在1990年代初期,澄清說, ASCII中有垂直條的位置,而破碎的條形符號不是ASCII的一部分。
- 127(7F HEX )是“房屋”,但有時也用作希臘資本三角洲[U+0394,δ]。
- 也可以用作IBM字體中的積分擴展[u+23ae,⎮]。
- IBM將225(E1 HEX )鑑定為拉丁語“ Small” [U+00DF,ß],但有時在OEM字體中呈現為希臘小beta [u+03b2,β]。這個拉丁角色在希臘角色中的位置表明了預期的多用途。
- IBM將227(E3 HEX )識別為希臘“ Pi Small” [U+03C0,π],但有時在OEM字體中呈現為Greek Capital Pi [U+03A0,π]或N- ARY產品符號[U+++ 220f, ∏]。
- IBM將228(E4 HEX )識別為希臘語“ Sigma Capital” [U+03A3,σ],但也用作N- ARY求和符號[U+2211,∑]。
- IBM將230(E6 HEX )鑑定為希臘語“ Mu Small” [U+03BC,μ],但也用作微型符號[U+00B5,µ]。在Unicode中,IBM的希臘GCGID表將此代碼頁中的字符映射到希臘字母中,但是例如, Python將其映射到微標誌。
- IBM將233(E9 HEX )識別為希臘語“ Theta Capital” [U+0398,θ]。但是,這些符號用於數學和物理學,其中小寫theta更常用(例如極性坐標)。
- 234(EA HEX )由IBM識別為希臘語“ Omega Capital” [U+03A9,ω],但也被用作OHM符號[U+2126,ω]。 Unicode認為字符是等效的,並建議在這兩種情況下使用U+03A9。
- IBM將235(EB HEX )鑑定為希臘語“ delta small” [u+03b4,δ]。它也非正式地用於小eth [u+00f0,ð]和部分導數符號[u+2202,∂]
- 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,Ø]。
- IBM將238(EE HEX )識別為希臘語“ Epsilon Small” [U+03B5,ε],但有時將OEM字體呈現為符號[U+2208,∈]。它通常被用作歐元標誌[U+20AC,€]
- 244(F4 HEX )和245(F5 HEX )是積分符號(∫)的上部和下部,並且可以用字符179(B3 Hex )(盒子繪製塊的垂直線)進行擴展。 244也可以用於長S角色[u+017f, ^]。
- 249(F9六角)和250(FA HEX )幾乎是無法區分的:第一個比第二個稍大,兩者都用作子彈,中點和乘法點[U+2219,∙]
- 有時還將251(FB十六進制)用作檢查標記[U+2713,✓]。
- 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,與中風更遠)。為了補償,丹麥/挪威語和冰島法典頁面( 865和861 )用Ø取代了Cent Sign(¢),並用Ø賦予了凡符號(¥)。
- 大多數希臘字母符號被省略了,超出了基本的數學符號。 (它們被包括在希臘語言代碼第737和869頁中。如果他們的字形從數學或科學形式更改以匹配希臘語中的實際用途,則已經在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字體中以及X11的ISO 10646字體中使用。
也可以看看
- Alt代碼
- ansi
- ASCII
- 半學字符
- atari st字符集,從代碼第437頁得出