BCD (kódování znaků) - BCD (character encoding) - Wikipedia
Klasifikace | 6-bit alfanumerické základní latinka kódování |
---|---|
Uspěl | EBCDIC |
BCD („Binary-Coded Decimal“), také nazývaný alfanumerický BCD, alphameric BCD, Výměnný kód BCD,[1] nebo BCDIC,[1] je rodina reprezentací číslic, velkých latinských písmen a některých speciálních a ovládacích znaků jako šestibitové kódy znaků.
Na rozdíl od pozdějších kódování, jako je ASCII, BCD kódy nebyly standardizovány. Různí výrobci počítačů a dokonce i různé produktové řady od stejného výrobce často měli své vlastní varianty a někdy obsahovali jedinečné znaky. Další šestibitová kódování se zcela odlišným mapováním, například některá FIELDATA[1] varianty nebo Transkódovat, se někdy nesprávně nazývají BCD.
Mnoho variant BCD kóduje znaky „0“ až „9“ jako odpovídající binární hodnoty.
Dějiny
Technicky binárně kódované desetinné místo popisuje kódování desetinných čísel, kde každá desetinná číslice je reprezentována pevným počtem bitů, obvykle čtyřmi.
Se zavedením Karta IBM v roce 1928 společnost IBM vytvořila kód[A] schopný reprezentovat alfanumerické informace,[2] později přijato jinými výrobci. Tento kód představuje čísla 0-9 jediným razníkem a používá více razníků pro velká písmena a speciální znaky.[3] Písmeno má dva razníky (zóna [12,11,0] + číslice [1–9]); většina speciálních znaků má dva nebo tři údery (zóna [12,11,0 nebo žádná] + číslice [2–7] + 8).
BCD kód je adaptace kódu děrné karty na šestibitový binární kód zakódováním řádků číslic (devět řádků plus bez děrování) do nízkých čtyř bitů a řádkové zóny (tři řádky plus děrování) do vysokých dvou bitů.[4] S číslicí nula (jeden úder v řádku 0) se obvykle nějakým způsobem zachází zvlášť a kód číslice byl rozšířen na hodnoty 10 až 15 kombinací číslice v rozsahu 2–7 s úderem v řádku 8. IBM použil podmínky binárně kódované desetinné místo a BCD k variantám BCD alphamerics používaný ve většině časných počítačů IBM, včetně IBM 1620, Řada IBM 1400 aDesetinná architektura členové Řada IBM 700/7000.
Mezi prodejci využívajícími BCD byli Burroughs,[5] Býk, CDC,[6] IBM, General Electric (počítačovou divizi koupil Honeywell v roce 1969), NCR, Siemens, a Sperry -UNIVAC.
IBM oznámila 8bitovou verzi Rozšířený binárně kódovaný desetinný směnný kód (EBCDIC), založený na BCDIC, v roce 1964 zavedením jeho Systém / 360 čára.
Speciální znaky
The Značka záznamu nebo Značka záznamu znak (představovaný jako ‡) je znak používaný k označení konce a záznam.[7] BCD kód tohoto znaku je 328 v některých variantách BCD. Nejbližší ekvivalent Unicode je U + 29E7 ⧧ TERMODYNAMICKÝ, ale to se v mnoha písmech nenachází, takže U + 2021 ‡ DOUBLE DAGGER místo toho se často používá. Funkčně to odpovídá EBCDIC IRS znak (ASCII RS), X'1E '.
The Groupmark nebo Znak skupiny (reprezentováno jako ) je znak používaný k označení začátku nebo konce skupiny souvisejících polí.[8] BCD kód tohoto znaku je 778 v některých variantách BCD. Skupinová značka byla navržena pro standardizaci Unicode v roce 2015,[9] a byl přidělen k hodnotě U + 2BD2 ⯒ SKUPINOVÁ ZNAČKA. Funkčně to odpovídá EBCDIC IGS znak (ASCII GS), X'1D '. Nyní je v této pozici v Unicode 10.0, ale podporují jej pouze písma Symbola a Unifont.
The Wordmark naopak je ne znak BCD. Jedná se spíše o příznakový bit používaný k označení konce slova u některých počítače s proměnnou délkou slova tak jako IBM 1401.
Varianty kódu BCD
Existuje mnoho různých verzí šestibitového kódu BCD. Existují tři hlavní kategorie rozdílů:
- Mapování zónových razníků na bity vysokého řádu. Všechny kódy nepřekládají žádné údery zón do bitového vzoru 00, ale některé kódují údery zón v pořadí 12-11-0, přičemž zachovávají abecední pořadí, zatímco jiné používají pořadí 0-11-12, což vede k částečně obrácené abecedě.
- Zpracování číslice 0. Přímý překlad z děrované formy by umístil mezeru před číslice 1–9 a kódoval 0 úplně někde jinde. Všechny kódy mají speciální zpracování zvláštních případů, které buď převede číslici 0 na binární kód s nulovou hodnotou (a přesune mezeru jinam), nebo jí dá binární kód 001010 (desítkově 10) a použije úder 8 + 2 jinde.
- Přiřazení speciálních znaků. Znaky přiřazené kódům nad rámec základní alfanumerické sady se značně lišily, dokonce i v rámci jednoho modelu počítače.
Ve „španělsky mluvících zemích“ znak „Ñ“ proto v původním systému neexistovaly "@" byla vybrána většinou výrobců: Bull, NCR a Control Data, ale při slučování databází se 7bitovým kódem ASCII existovala nekonzistence, protože v tomto kódovacím systému "/" byl vybrán znak, což má za následek dva různé kódy pro stejný znak.
Příklady BCD kódů
Následující grafy ukazují číselné hodnoty znaků BCD v hexadecimální Zápis (základna-16), protože nejjasněji odráží strukturu 4bitového binárně kódovaného desetinného čísla plus dvou dalších bitů. Například kód pro „A“ v řádku 3x a sloupci x1 je šestnáctkový 31 nebo binární „11 0001“.
48místný BCD kód
První verze BCDIC měly 48 znaků, protože byly založeny na vzorcích děrování karet a znakových sadách tiskáren, z nichž ani jedna nepodporovala počet dvou znaků.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | # | @ | |||
1x | / | S | T | U | PROTI | Ž | X | Y | Z | , | % | |||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | $ | * | ||||
3x | & | A | B | C | D | E | F | G | H | Já | . | ⌑ |
To bylo založeno na 40místném kódu děrované karty; původních 37 (10 číslic, 26 písmen a prázdné) plus tři komerčně důležité znaky přidané kolem roku 1932:[1]:67 pomlčka-minus používaný k tisku zůstatků úvěrů a pomlčených jmen, ampersand také se používá v mnoha jménech a adresách (Procter & Gamble, Mr. & Mrs. Smith), a hvězdička slouží k přetisku nevyužitých polí při tisku kontroly.
Kód IBM 704 BCD
IBM 704 změnil pořadí kódu BCDIC, aby interně umožnil normální abecední řazení, s 0 před 1 a A před Z. Mohlo by to automaticky překládat mezi touto interní formou a dřívějším BCDIC při čtení a zápisu magnetické pásky.[10]
Následující tabulka ukazuje přiřazení kódu pro IBM 704 počítač. Nepřiřazené pozice kódu se zobrazují jako mezery.[10]
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | # | @ | ||||
1x | & | A | B | C | D | E | F | G | H | Já | . | ⌑ | ||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | $ | * | ||||
3x | prostor | / | S | T | U | PROTI | Ž | X | Y | Z | ‡ | , | % |
( a byly zřídka používané znaky, které odpovídaly konvenci děrného štítku číslice 0 s přetlačeným znaménkem v řádcích 12 nebo 11.)
Následující tabulka ukazuje přiřazení kódu pro tiskárna typu 716 používá se počínaje počítačem IBM 704 a přes 7094.[11] Rozhraní 704[b] poslal virtuální řádky s děrovanou kartou na tuto tiskárnu, dvě slova (72 bitů) najednou, takže mapování ze 6bitových znaků BCD bylo provedeno softwarem a nebylo zabudováno do tiskárny.
Zóna rána pěstí | Digit úder | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8+3 | 8+4 | ||
Žádný | * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | + | - |
12 | + | A | B | C | D | E | F | G | H | Já | . | ⌑ |
11 | - | J | K. | L | M | N | Ó | P | Q | R | $ | * |
0 | 0 | / | S | T | U | PROTI | Ž | X | Y | Z | , | % |
Toto je repertoár 45 znaků (nepočítaje se prázdný, který zpracovává speciálně tiskárna), protože znaky +
, -
a *
jsou duplikovány.
Fortranská znaková sada
Existovala určitá variace; IBM 704 Fortran měl jinou sadu speciálních znaků (zachoval pouze duplikovaný znak mínus).[12]
Zóna rána pěstí | Digit úder | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8+3 | 8+4 | ||
Žádný | * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | = | - |
12 | + | A | B | C | D | E | F | G | H | Já | . | ) |
11 | - | J | K. | L | M | N | Ó | P | Q | R | $ | * |
0 | 0 | / | S | T | U | PROTI | Ž | X | Y | Z | , | ( |
Podobný kód byl použit pro IBM 709, 7090 a 7094 nástupci,[13] ale s přidělenými některými speciálními znaky:
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | = | " | ||||
1x | & | A | B | C | D | E | F | G | H | Já | . | ) | ||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | $ | * | ||||
3x | prostor | / | S | T | U | PROTI | Ž | X | Y | Z | ± | , | ( |
Kód IBM 1401 BCD
The IBM 1401 použil nulový kód pro prázdné pole a přesunul číslici nula do kódu 10. Pro účely dokumentace měl definované tvary znaků pro všechny možné hodnoty,[14] ale bylo možné tisknout pouze 48 ze 63 neprázdných znaků a docházelo ke značným odchylkám v tom, jak byly v praxi zobrazeny hodnoty ostatních kódů (v tabulce níže stínované). Dokonce i ostatní znaky se lišily mezi různými dostupnými řetězci tisku pro IBM 1403 tiskárna.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | # | @ | : | > | √ |
1x | ¢ | / | S | T | U | PROTI | Ž | X | Y | Z | ‡ | , | % | = | ' | " |
2x | - | J | K. | L | M | N | Ó | P | Q | R | ! | $ | * | ) | ; | Δ |
3x | & | A | B | C | D | E | F | G | H | Já | ? | . | ⌑ | ( | < | ⯒ |
GBCD kód
Níže je tabulka GBCD kódu GE / Honeywell, varianty BCD.[15]
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [ | # | @ | : | > | ? |
1x | prostor | A | B | C | D | E | F | G | H | Já | & | . | ] | ( | < | \ |
2x | ^ | J | K. | L | M | N | Ó | P | Q | R | - | $ | * | ) | ; | ' |
3x | + | / | S | T | U | PROTI | Ž | X | Y | Z | _ | , | % | = | " | ! |
BCD kód Burroughs B5500
Následující tabulka ukazuje přiřazení kódu pro Burroughs B5500 počítač, někdy označovaný jako BIC (Burroughs Interchange Code).[16]
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | # | @ | ? | : | > | ≥ |
1x | + | A | B | C | D | E | F | G | H | Já | . | [ | & | ( | < | ← |
2x | × | J | K. | L | M | N | Ó | P | Q | R | $ | * | - | ) | ; | ≤ |
3x | prostor | / | S | T | U | PROTI | Ž | X | Y | Z | , | % | ≠ | = | ] | " |
Kódová stránka 353
Stránka kódu BCDIC-A byla přiřazena jako Kódová stránka 353, také známý jako CP353. Některé znaky na této kódové stránce nejsou v Unicode. [Přítomnost dvou # znaků, ale žádný znak + se v této tabulce jeví jako nesprávný.][Citace je zapotřebí ]
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | # | @ | : | > | √ |
1x | ␢ | / | S | T | U | PROTI | Ž | X | Y | Z | ‡ | , | % | y | \ | ⧻ |
2x | - | J | K. | L | M | N | Ó | P | Q | R | ! | # | * | ] | ; | Δ |
3x | & | A | B | C | D | E | F | G | H | Já | ? | . | ⌑ | [ | < | ⯒ |
Na 0x1A je záznamová značka, která nebyla navržena samostatně kvůli své podobnosti s dvojitou dýkou. Na 0x3F je značka skupiny.
Kódové stránky PTTC / BCD
PTTC / BCD měl 5 možností. Bylo tam pět kódových stránek. Jsou zobrazeny níže. Standardní volba PTTC / BCD byla přiřazena jako Kódová stránka 355nebo CP355.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | # | ||||
1x | @ | / | S | T | U | PROTI | Ž | X | Y | Z | ‡ | , | y | |||
2x | - | J | K. | L | M | N | Ó | P | Q | R | < | $ | ||||
3x | & | A | B | C | D | E | F | G | H | Já | ) | . |
Možnost PTTC / BCD H byla přiřazena jako Kódová stránka 357nebo CP357.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | ||||
1x | ' | / | S | T | U | PROTI | Ž | X | Y | Z | ‡ | , | ||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | ! | $ | ||||
3x | + | A | B | C | D | E | F | G | H | Já | ? | . |
Možnost korespondence PTTC / BCD byla přiřazena jako Kódová stránka 358nebo CP358.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ' | ||||
1x | ! | / | S | T | U | PROTI | Ž | X | Y | Z | ‡ | , | ||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | < | ; | ||||
3x | = | A | B | C | D | E | F | G | H | Já | > | . |
Možnost monokasu PTTC / BCD byla přiřazena jako Kódová stránka 359nebo CP359.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | # | ||||
1x | @ | / | S | T | U | PROTI | Ž | X | Y | Z | , | |||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | $ | |||||
3x | & | A | B | C | D | E | F | G | H | Já | . |
Možnost PTTC / BCD Duocase byla přiřazena jako Kódová stránka 360nebo CP360.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | prostor | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | # | ||||
1x | @ | / | S | T | U | PROTI | Ž | X | Y | Z | , | |||||
2x | - | J | K. | L | M | N | Ó | P | Q | R | $ | |||||
3x | & | A | B | C | D | E | F | G | H | Já | . |
Viz také
Poznámky
Reference
- ^ A b C d E Mackenzie, Charles E. (1980). Kódované znakové sady, historie a vývoj (PDF). Série programovacích systémů (1. vyd.). Addison-Wesley Publishing Company, Inc. ISBN 0-201-14460-3. LCCN 77-90165. ISBN 978-0-201-14460-4. Archivovány od originál (PDF) dne 2016-05-26. Citováno 2017-04-22. [1]
- ^ Pugh, Emerson W .; Heide, Larsi. „STARS: Equipment for Punch Card“. Síť IEEE Global History. Archivovány od originál dne 2012-05-11. Citováno 2012-06-09.
- ^ Pugh, Emerson W. (1995). Building IBM: Shaping and Industry and its Technology. MIT Stiskněte. str.50 –51. ISBN 978-0-262-16147-3.
- ^ Jones, Douglas W. „Kódy děrných štítků“. Citováno 2014-01-01.
- ^ Burroughs B5500 Information Processing Systems: Reference Manual (PDF). Burroughs Corporation. 1964.
- ^ Control Data Corporation (1965). Kódy / Řídicí data 6600 Počítačový systém (PDF).
- ^ „Značka záznamu“. Encyklopedie. PC Magazine. Citováno 2016-04-09.
- ^ "značka skupiny". Encyclopedia.com. Citováno 2016-04-09.
- ^ Shirriff, Ken. „Návrh na přidání symbolu značky skupiny“ (PDF). unicode.org. Citováno 2016-04-09.
- ^ A b Příručka obsluhy stroje na elektronické zpracování dat IBM 704 (PDF). IBM. 1955. str. 35. Formulář 24-6661-2. Citováno 2017-04-22.
- ^ Příručka obsluhy stroje na elektronické zpracování dat IBM 704 (PDF). IBM. 1955. str. 58. Formulář 24-6661-2. Citováno 2017-04-22.
- ^ „Fortran automatický kódovací systém pro IBM 704“ (PDF). IBM. 1956-10-15. p. 49. Citováno 2015-09-15.
- ^ Harper, Jack (2001-08-21). „Reprezentace znaků IBM 7090/94“. Citováno 2017-04-22.
- ^ IBM 1401 Data Processing System: Referenční příručka (PDF). IBM. Dubna 1962. str. 170. A24-1403-5. Archivovány od originál (PDF) dne 14.03.2012.
- ^ "Sekce: Tabulky znaků v počítačích BULL" (PDF). Archivovány od originál (PDF) dne 8.7.2011. Citováno 2010-11-15.
- ^ Burroughs B 5500 Information Processing Systems Extended Algol Reference Manual (PDF). 1966. s. B-1.
Další čtení
- Operační systém - Operační systém GCOS 8 - Příručka programátora - Návod k montáži řady Bull NovaScale 9000 - GCOS 8 (PDF). Bull S.A. CEDOC. Listopad 2003. 67 A2 RJ78 REV00. Archivovány od originál (PDF) dne 12.02.2015.
- Bonten, Jo H. M. (8. 3. 2009) [2007]. „Datové formáty ve starých 48- a 36bitových počítačích: šestibitové znaky“. Archivováno od originálu 2016-06-16. Citováno 2016-06-16.