BCD (kódování znaků) - BCD (character encoding)
Klasifikace | 6bitové alfanumerické základní latinské kódování |
---|---|
Uspěl | EBCDIC |
BCD ( binárně kódované desetinné číslo ), nazývané také alfanumerické BCD , alfamerické BCD , BCD Interchange Code nebo BCDIC , je rodina reprezentací číslic, velkých latinských písmen a některých speciálních a kontrolních znaků jako šestibitových znakových kódů .
Na rozdíl od pozdějších kódování, jako je ASCII , nebyly kódy BCD 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. Jiná šestibitová kódování se zcela odlišným mapováním, například některé varianty FIELDATA nebo Transcode , jsou někdy nesprávně označována jako 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é číslo 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 karty IBM v roce 1928 vytvořil IBM kód schopný reprezentovat alfanumerické informace, později přijatý jinými výrobci. Tento kód představuje čísla 0-9 jediným úderem a používá více razníků pro velká písmena a speciální znaky. 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).
Kód BCD je adaptací kódu děrné karty na šestibitový binární kód zakódováním číslicových řádků (devět řádků, plus neděrovaných) do nízkých čtyř bitů a řad zón (tři řádky, plus neděrované) do vysokých. dva bity. Číslice nula (jeden úder v řádku 0) je obvykle zpracována nějakým zvláštním způsobem a číselný kód byl rozšířen na hodnoty 10 až 15 kombinací číslice v rozsahu 2–7 s razníkem v řádku 8. IBM použila termíny binárně kódované desítkové a BCD na variace BCD alfameriky používané ve většině raných počítačů IBM, včetně řad IBM 1620 , IBM 1400 a členů bez desítkové architektury řady IBM 700/7000 .
Mezi dodavatele využívající BCD patřily společnosti Burroughs , Bull , CDC , IBM , General Electric (počítačovou divizi koupila společnost Honeywell v roce 1969), NCR , Siemens a Sperry - UNIVAC .
IBM oznámila 8bitový Extended Binary Coded Decimal Interchange Code (EBCDIC), založený na BCDIC, v roce 1964 se zavedením své řady System/360 .
Speciální znaky
Znak Záznam nebo Záznamová značka (reprezentovaný jako ‡) je znak používaný k označení konce záznamu . Kód BCD pro tento znak je v některých variantách BCD 32 8 . Nejbližší ekvivalent Unicode je U+29E7 ⧧ THERMODYNAMIC , ale ten se v mnoha písmech nenachází, takže se místo toho často používá U+2021 ‡ DOUBLE DAGGER . Funkčně to odpovídá znaku EBCDIC IRS (ASCII RS ), X'1E '.
Znak Groupmark nebo Group mark (reprezentovaný jako ) je znak používaný k označení začátku nebo konce skupiny souvisejících polí. Kód BCD pro tento znak je v některých variantách BCD 77 8 . Skupinový znak byl navržen pro standardizaci Unicode v roce 2015 a byl přiřazen hodnotě U+2BD2 ⯒ GROUP MARK . Funkčně to odpovídá znaku EBCDIC IGS (ASCII GS ), X'1D '. Nyní je na této pozici v Unicode 10.0, ale podporují ho pouze fonty Symbola a Unifont.
Wordmark , naproti tomu není BCD charakter. Jedná se spíše o příznakový bit používaný k označení konce slova na některých počítačích s proměnnou délkou slova , jako je IBM 1401 .
Variace kódu BCD
Existuje mnoho různých verzí šestbitového kódu BCD. Existují tři hlavní kategorie rozdílu:
- Mapování ze zónových úderů na bity vysokého řádu. Všechny kódy nepřekládají žádné zónové údery na bitový vzor 00, ale některé kódují zónové razníky 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ž má za následek částečně obrácenou abecedu.
- Zpracování číslice 0. Přímý překlad z děrné formy by umístil prázdné místo před číslice 1–9 a kódoval 0 někde úplně jinde. Všechny kódy mají speciální zpracování, které buď převede číslici 0 na nulový binární kód (a přesune prázdné místo jinam), nebo mu dá binární kód 001010 (desetinné číslo 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 velmi lišily, a to i v rámci jednoho modelu počítače.
Ve „španělsky mluvících zemích“ znak „Ñ“ v původním systému neexistoval, proto „@“ zvolila většina výrobců: Bull, NCR a Control Data, ale při slučování databází na 7bitové došlo k nejednotnosti ASCII kód, protože v tomto kódovacím systému byl zvolen znak "/" , což vedlo ke dvěma různým kódům pro stejný znak.
Příklady kódů BCD
Následující grafy ukazují číselné hodnoty znaků BCD v hexadecimálním (base-16) zápisu, protože nejjasněji odráží strukturu 4bitových binárních kódovaných desetinných míst plus dva další bity. Například kód pro 'A' v řádku 3x a sloupci x1 je hexadecimální 31 nebo binární '11 0001 '.
48místný kód BCD
První verze BCDIC měly 48 znaků, protože byly založeny na vzorech děrných štítků karet a znakových sadách tiskáren, z nichž ani jeden nepodporoval počet znaků o síle dvou.
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 | W | X | Y | Z | , | % | |||||
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | $ | * | ||||
3x | & | A | B | C | D | E | F | G | H | Já | . | ⌑ |
To bylo založeno na 40místném kódu děrné karty; původních 37 (10 číslic, 26 písmen a prázdné) a tři komerčně důležité znaky přidané kolem roku 1932: pomlčka-minus používaná pro tisk zůstatků kreditu a pomlčky , ampersand používaný také v mnoha jménech a adresách ( Procter & Gamble , Mr. . & Mrs. Smith) a hvězdička použitá k přetisku nepoužitých polí při tisku šeků .
Kód BCD IBM 704
IBM 704 přeuspořádal kód BCDIC, aby interně umožňoval normální abecední řazení, s 0 před 1 a A před Z. Při čtení a zápisu magnetických pásek mohl automaticky překládat mezi tímto interním formulářem a dřívějším BCDIC .
Následující tabulka ukazuje přiřazení kódu pro počítač IBM 704 . Nepřiřazené pozice kódu se zobrazí jako mezery.
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 | Otázka | R. | $ | * | ||||
3x | prostor | / | S | T | U | PROTI | W | X | Y | Z | ‡ | , | % |
( a byly jen zřídka použity znaky, které odpovídaly konvenci děrných štítků číslice 0 s přetaženým znaménkem v řádcích 12 nebo 11.)
Následující tabulka ukazuje přiřazení kódů pro tiskárnu typu 716 používanou od počítače IBM 704 až po 7094. Rozhraní 704 odeslalo do této tiskárny virtuální řádky děrných štítků, dvě slova (72 bitů) najednou, takže mapování ze 6bitových znaků BCD bylo provedeno softwarem a nebylo integrováno do tiskárny.
Zone punč |
Digit punč | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Otázka | R. | $ | * |
0 | 0 | / | S | T | U | PROTI | W | X | Y | Z | , | % |
Jedná se o repertoár z 45 znaků (nepočítáme-prázdné, který je řešen speciálně tiskárna), jako postavy +
, -
a *
jsou duplikovány.
Znaková sada Fortran
Existovaly určité variace; IBM 704 Fortran měl jinou sadu speciálních znaků (zachoval pouze duplikované znaménko minus).
Zone punč |
Digit punč | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Otázka | R. | $ | * |
0 | 0 | / | S | T | U | PROTI | W | X | Y | Z | , | ( |
Podobný kód byl použit pro nástupce IBM 709 , 7090 a 7094 , ale s některými speciálními znaky znovu přiřazeny:
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 | Otázka | R. | $ | * | ||||
3x | prostor | / | S | T | U | PROTI | W | X | Y | Z | ± | , | ( |
Kód IBM 1401 BCD
IBM 1401 použil všechny nula kód pro prázdné, a pohyboval číslice nula ke kódu 10. Bylo to definované znakové formy pro všechny možné hodnoty pro účely dokumentace, ale pouze 48 z celkového počtu 63 non-prázdné znaky byly pro tisk, a existovaly značné rozdíly v tom, jak byly v praxi zobrazeny ostatní hodnoty kódu (v tabulce níže). I ostatní znaky se lišily mezi různými dostupnými tiskovými řetězci pro tiskárnu IBM 1403 .
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 | W | X | Y | Z | ‡ | , | % | = | ' | " |
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | ! | $ | * | ) | ; | Δ |
3x | & | A | B | C | D | E | F | G | H | Já | ? | . | ⌑ | ( | < | ⯒ |
GBCD kód
Níže je tabulka GBCD kódu GE/Honeywell, varianta BCD.
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 | Otázka | R. | - | $ | * | ) | ; | ' |
3x | + | / | S | T | U | PROTI | W | X | Y | Z | _ | , | % | = | " | ! |
BCD kód Burroughs B5500
Následující tabulka ukazuje přiřazení kódu pro počítač Burroughs B5500 , někdy označovaný také jako BIC (Burroughs Interchange Code).
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 | Otázka | R. | $ | * | - | ) | ; | ≤ |
3x | prostor | / | S | T | U | PROTI | W | X | Y | Z | , | % | ≠ | = | ] | " |
Kódová stránka 353
Kódová stránka BCDIC-A byla přiřazena jako kódová stránka 353 , známá také 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ý.]
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 | W | X | Y | Z | ‡ | , | % | γ | \ | ⧻ |
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | ! | # | * | ] | ; | Δ |
3x | & | A | B | C | D | E | F | G | H | Já | ? | . | ⌑ | [ | < | ⯒ |
Na 0x1A je značka záznamu, která nebyla navržena samostatně kvůli její 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 uvedeny níže. Standardní možnost PTTC/BCD byla přiřazena jako kódová stránka 355 nebo 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 | W | X | Y | Z | ‡ | , | γ | |||
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | < | $ | ||||
3x | & | A | B | C | D | E | F | G | H | Já | ) | . |
Volba PTTC/BCD H byla přiřazena jako kódová stránka 357 nebo 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 | W | X | Y | Z | ‡ | , | ||||
2x | - | J. | K | L | M | N. | Ó | P | Otázka | 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 358 nebo 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 | W | X | Y | Z | ‡ | , | ||||
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | < | ; | ||||
3x | = | A | B | C | D | E | F | G | H | Já | > | . |
Volba Monocase PTTC/BCD byla přiřazena jako kódová stránka 359 nebo 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 | W | X | Y | Z | , | |||||
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | $ | |||||
3x | & | A | B | C | D | E | F | G | H | Já | . |
Možnost Duocase PTTC/BCD byla přiřazena jako kódová stránka 360 nebo 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 | W | X | Y | Z | , | |||||
2x | - | J. | K | L | M | N. | Ó | P | Otázka | R. | $ | |||||
3x | & | A | B | C | D | E | F | G | H | Já | . |
Viz také
Poznámky
Reference
Další čtení
- Operační systém - Operační systém GCOS 8 - Příručka programátora - Pokyny k montáži Bull NovaScale řady 9000 - GCOS 8 (PDF) . Bull SA CEDOC . Listopad 2003. 67 A2 RJ78 REV00. Archivováno z originálu (PDF) dne 2015-02-12.
- Bonten, Jo HM (2009-03-08) [2007]. „Datové formáty ve starých 48bitových a 36bitových počítačích: šestbitové znaky“ . Archivováno od originálu dne 2016-06-16 . Citováno 2016-06-16 .