ASCII - ASCII


z Wikipedie, otevřené encyklopedie

ASCII
ASCII-infobox.svg
ASCII (1967 nebo pozdější)
MIME / IANA us-ascii
Alias ​​(es) ASCII
Jazyk (y) Angličtina
Klasifikace Řada ISO 646
rozšíření
předcházet ITA 2 , FIELDATA
uspěl ISO 8859 , Unicode
Další související kódování (y) PETSCII

ASCII ( / æ to k I /  ( poslech ) O tomto zvukem ASS -kee ), zkrátil z American Standard Code pro výměnu informací , je kódování znaků standard pro elektronickou komunikaci. ASCII kódy reprezentují text v počítačích, telekomunikační zařízení a další zařízení. Nejmodernější systémy kódování znaků jsou založeny na ASCII, ačkoli oni podporují mnoho dalších postav.

ASCII je tradiční název pro systém kódování; IANA (IANA) preferuje aktualizován název US-ASCII , který objasňuje, že tento systém byl vyvinut v USA a na základě typografické symboly převážně používána tam.

ASCII je jedním z IEEE milníky .

ASCII tabulky z návodu k obsluze tiskárny starší než z roku 1972 (b1 je nejméně významný bit).

Přehled

ASCII byl vyvinut od telegrafního kódu . Jeho první komerční použití byl jako sedmileté bit dálnopis kódu podporované datové služby Bell. Práce na standardu ASCII začala 6. října 1960, s prvním zasedání American Standards Association ‚s (ASA) (nyní American National Standards Institute nebo ANSI) X3.2 podvýboru. První vydání této normy byl publikován v roce 1963, došlo k výrazné revizi v průběhu roku 1967, a zažil jeho poslední aktualizaci během roku 1986. Ve srovnání s dřívějšími telegrafních kódů, navrhovaný kód Bell a ASCII byli oba objednat za výhodnější třídění (tj Alphabetization ) seznamů a přidanými funkcemi pro jiné než teleprinters zařízení.

Původně založený na anglické abecedě , ASCII kóduje 128 uvedené znaky do sedmi-bitová celá čísla, jak je znázorněno v grafu ASCII výše. Devadesát pět kódovaných znaků jsou tisknutelné: zahrnují číslice 09 , malá písmena do Z , velká písmena AZ a interpunkční znaménka . Kromě toho se původní specifikace ASCII hotelu 33 netisknutelné řídicí kódy , které vznikly s Teletype stroji ; většina z nich jsou nyní zastaralé, i když některé jsou ještě běžně používaný, jako například návrat vozíku , posun na další řádek a karta kódů.

Například malá i by být zastoupeny v kódování ASCII o binární 1101001 = hexadecimální 69 ( i je devátý písmeno) = desítkové 105.

Dějiny

ASCII (1963). Kontrolní fotografie ekvivalentních kontrol jsou zobrazeny pokud existují, nebo šedá tečka jinak.

The American Standard Code pro výměnu informací (ASCII), byl vyvinut pod záštitou výboru American Standards Association (ASA), volal X3 výbor, jeho X3.2 (později X3L2) podvýboru a později X3 tohoto podvýboru. 2.4 pracovní skupina (nyní INCITS ). ASA se stal ve Spojených státech amerických Standards Institute (USASI) a nakonec i American National Standards Institute (ANSI).

S druhou speciální znaky a řídící kódy vyplněné, ASCII byla publikována jako ASA X3.4-1963, odcházející 28 kódu pozice, aniž by přidělenou smyslu, rezervováno pro budoucí normalizace a jeden Neobsazené řídicí kód. Tam byla nějaká debata v okamžiku, zda by měla být větší kontrolní znaky spíše než malá písmena abecedy. Nerozhodnost netrval dlouho: v květnu 1963 pracovní skupina CCITT na Novém Telegraph abecedě navrhla přidělit malá písmena se tyčí 6 a 7, a Mezinárodní organizace pro normalizaci TC 97 SC 2 hlasovalo během října k začlenění změny do svého návrhu normy , Pracovní skupina X3.2.4 hlasoval svůj souhlas se změnou na ASCII na svém května 1963 schůzi. Umístění a malá písmena v tyčemi 6 a 7 způsobila se znaky, které se liší v bitové kombinaci z horního pouzdra jedním bitem, který zjednodušené velkých a malých písmen znak věcné a konstrukci klávesnic a tiskáren.

X3 komise také jiné změny, včetně dalších nových znaků (s výztuhou a svislé lišty znaků), přejmenování některé řídící znaky (SOM se stal začátek záhlaví (SOH)) a pohybující se nebo demontáže ostatních (RU byla odstraněna). ASCII byl následně aktualizován USAS X3.4-1967, pak USAS X3.4-1968, ANSI X3.4-1977 a konečně ANSI X3.4-1986.

Revize standardu ASCII:

  • ASA X3.4-1963
  • ASA X3.4-1965 (schválena, ale ne publikoval, přesto použitý IBM 2260 a 2265 zobrazení stanic a IBM 2848 Display Control)
  • USAS X3.4-1967
  • USAS X3.4-1968
  • ANSI X3.4-1977
  • ANSI X3.4-1986
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002)
  • ANSI INCITS 4-1986 (R2007)
  • ANSI INCITS 4-1986 (R2012)

Ve standardním X3.15, X3 výbor rovněž řešit, jak by měly být přenášeny ASCII ( nejméně významný bit jako první), a jak by měly být zaznamenány na perforovanou páskou. Navrhli 9-sledovat standard pro magnetický pásek, a pokoušel se vyrovnat s některými děrný štítek formátů.

Faktory ovlivňující návrh

bitová šířka

X3.2 podvýboru navržen ASCII na základě dřívějších dálnopisu systémů kódování. Stejně jako ostatní znakové kódování , ASCII specifikuje korespondenci mezi digitálními bitovými vzory a znakových symbolů (tj grafémů a řídicí znaky ). To umožňuje digitální zařízení komunikovat mezi sebou navzájem a zpracovávat, ukládat a sdělovat informace charakteru orientované, jako psaný jazyk. Před ASCII byl vyvinut, že kódování v užívání bylo 26 abecední znaky, 10 číslicemi a od 11 do 25 speciální grafické symboly. Chcete-li zahrnout všechny tyto a řídicí znaky kompatibilní s Comité Consultatif International TELEPHONIQUE et Télégraphique (CCITT) Mezinárodní telegrafní abeceda č.2 (ITA2) standardu 1924, FIELDATA (1956), a na začátku EBCDIC (1963), více než 64 kódy byly potřebný pro ASCII.

ITA2 byly zase vychází z 5-bitový kód telegrafní Emile Baudot vynalezl v roce 1870 a patentován v roce 1874.

Výbor projednal možnost posunu funkce (jako je tomu v ITA2 ), což by umožnilo více než 64 kódů, které mají být zastoupen šesti bitový kód . V zařazenou kódu, některé znakové kódy určují volbu mezi možnostmi pro následující kódy znak. To umožňuje kompaktní kódování, ale je méně spolehlivá pro přenos dat , jak k chybě při přenosu kódu směny obvykle dělá dlouhou část přenosu nečitelné. Výbor standardy rozhodl proti posunu, a tak ASCII zapotřebí minimálně sedm-bitový kód.

Výbor považuje za osm-bitový kód, protože osm bitů ( oktetů ) by umožnilo dva čtyř bitové vzory účinně kódovat dvě číslice s BCD . Nicméně, to by vyžadovalo veškeré datové přenosy vyslat osm bitů, kdy sedm mohlo stačit. Výbor hlasoval pouze sedm-bitový kód minimalizovat náklady spojené s přenosem dat. Vzhledem k tomu, perforovaný pásek v té době mohl zaznamenat osm bitů v jedné poloze, ale také možnost pro paritní bit pro kontrolu chyb v případě potřeby. Osmibitové stroje (s oktetů jako nativní datový typ), které se nepoužívají paritu obvykle nastavena na osmý bit na 0. V některých tiskáren, vysoké bit se používá k tomu, aby Kurzíva tisk.

vnitřní organizace

Kód sám byl vzorovaný tak, že většina řídicí kódy byly pohromadě a všechny grafické kódy byli spolu, pro snadnější identifikaci. První dvě tzv ASCII hole (32), pozice byly vyhrazeny pro řídicí znaky. Znak „mezera“ musel přijít před grafikou, aby třídění snazší, takže to se stalo pozice 20 hex ; Ze stejného důvodu, mnozí další symboly běžně používané jako odlučovače byly umístěny před číslicemi. Výbor rozhodl, že je důležité podporovat velká 64 znaků abecedy , a rozhodl se vzorem ASCII tak, aby mohl být snadno redukovány na využitelnou 64-znakovou sadu grafických kódů, jak tomu bylo v DEC SIXBIT kódu (1963). Malá písmena proto nebyly proloženy s velkými písmeny. Chcete-li zachovat dostupné možnosti pro malá písmena a jiné grafiky, speciální a číselné kódy byly uspořádány před písmen a písmeno byla umístěna v poloze 41 hex tak, aby odpovídala návrh příslušné britské normy. Číslice 0-9 mají před 011, ale zbývající 4 bity odpovídají jejich hodnoty v binární, takže konverze s BCD přímočaré.

Mnoho z non-alfanumerické znaky byly umístěny tak, aby odpovídaly jejich zařazenou polohou na psací stroje; Důležitým subtilnost je, že tyto byly založeny na mechanických psacích strojů, ne elektrické psací stroje. Mechanické psací stroje následoval normu stanovenou Remington No. 2 (1878), první psací stroj s klíčem na směny a posunuté hodnoty 23456789-byly "#$%_&'() - brzy psací stroje vynechána 0 a 1 , za použití O (velké písmeno O ) a l (malé písmeno L ) místo, ale 1!i 0)páry se stal standardem jednou 0 a 1 staly běžné. Tak, v ASCII !"#$%byly zařazeny do druhé holí, pozice 1-5, odpovídající číslice 1-5 v přilehlé hůl. Závorky nemůže odpovídat 9 a 0 , nicméně, protože místo, odpovídající 0 ° C byla pořízena znak mezery. Tento byl uložen odstraněním _(podtržení) z 6 a posunutí zbývajících znaků, což odpovídá mnoha evropských psacích strojů, které které závorky s 8 a 9 . Tento rozpor od psacích strojů vedly k klávesnic bit-spárován , zejména Teletype Model 33 , který používá levou posunutého uspořádání odpovídající ASCII, nikoli tradičních mechanických psacích strojů. Elektrické psací stroje, zejména IBM Selectric (1961), který se používá poněkud jiný vzhled, který se stal standardem na počítačích - v návaznosti na IBM PC (1981), zejména model M (1984) - a tím i posun hodnot symboly na moderních klávesnicích neodpovídají jak těsně ke stolu ASCII jako dřívější klávesnice udělal. /?Pár také se datuje do č.2 a ,< .>páry byly používány na některých klávesnicích (jiných, včetně č.2, nezměnil ,(čárka) nebo .(tečka), aby mohly být použity v velkými písmeny bez unshifting). Nicméně, ASCII rozdělit ;:dvojici (datovat až No. 2), a přeskupených matematických symbolů (různých konvencí, obyčejně -* =+) až :* ;+ -=.

Některé společné znaky nebyly zahrnuty, a to zejména ½¼¢, když ^`~byly zařazeny jako diakritika pro mezinárodní provoz, a <>pro matematické použití, spolu s jednoduchými znaky řádku \|(kromě běžné /). @ Symbol nebyl používán v kontinentální Evropě a výbor očekává, že bude nahrazen přízvukem À ve francouzském variantě, tak @ byla umístěna v poloze 40 hex , těsně před písmenem A.

Kontrolní kódy cítil nezbytnou pro přenos dat byl začátek zprávy (SOM), konec adresy (EOA), konec zprávy (EOM), konec přenosu (EOT), „kdo jste vy?“ (WRU), "že ne?" (RU), řídicí vyhrazené zařízení (DC0), synchronní nečinnosti (SYNC) a potvrzení (ACK). Ty byly umístěny tak, aby maximalizoval Hammingova vzdálenost mezi jejich bitových vzorů.

objednat znak

ASCII kód objednávky je také nazýván ASCIIbetical pořadí. Třídění dat se někdy provádí v tomto pořadí, spíše než „standardní“ abecedním pořadí ( posloupnosti řazení ). Hlavní odchylky v ASCII pořadí jsou:

  • Všech velkých přijít před malými písmeny; například „Z“ předchází „a“
  • Číslice a mnoho interpunkčních znamének přijít před písmeny

Meziprodukt pořadí převede velká písmena na malá před porovnáním hodnot ASCII.

skupiny znak

řídící znaky

ASCII vyhrazuje prvních 32 kódů (čísla 0-31 desetiny) pro řídící znaky : kódy původně zamýšlel, aby reprezentovat tiskovou informací, ale spíše pro ovládání zařízení (například tiskárny ), které využívají ASCII nebo poskytovat meta-informace o datech proudy, jako jsou uloženy na magnetickém pásku.

Například znak 10 představuje funkci „linie podávání“ (která způsobuje tiskárnu k postupu použitého papíru), a znak 8 představuje „backspace“. RFC  2822 se vztahuje k ovládání postavy, které neobsahují návratu vozíku, řádkování nebo prázdné místo jako non-whitespace řídících znaků. S výjimkou řídících znaků, které předepisují základní formátování čáry orientované ASCII nedefinuje žádný mechanismus pro popsaní struktury nebo vzhled textu uvnitř dokumentu. Jiné systémy, například značkovacích jazyků , adresa stránky a rozvržení dokumentu a formátování.

Původní standard ASCII používá pouze krátké popisné fráze pro každou řídicí znak. Nejednoznačnost toto způsobilo bylo někdy úmyslné, například pokud by byl použit znak mírně odlišně na terminálovém odkaz než na datový tok , a někdy i náhodné, například s významem „vymazat“.

Pravděpodobně nejvlivnější jediné zařízení na interpretaci těchto znaků byl Teletype Model 33 ASR, který byl tiskový terminál s dostupným děrné pásky možnost čtenář / punč. Páska papír byl velmi populární médium pro dlouhodobé uložení programu do 1980, méně nákladné a v některých ohledech méně křehké než magnetická páska. Zejména Teletype Model 33 stroje Přiřazení kódů 17 (Control-Q, DC1, také známý jako XON), 19 (kontrolní-S, DC3, také známý jako XOFF), a 127 ( Odstranit ) se stal de facto standardy. Model 33 byl také pozoruhodný pro přijetí popisu Control-G (kód 7, BEL, což znamená, akusticky upozorní obsluhu) doslovně, protože přístroj obsahoval skutečný zvon, který zazvonil, když se dostal BEL charakter. Vzhledem k tomu, keytop pro O klíč také ukázala symbol levé šipky (z ASCII-1963, který měl tento znak místo podtržení ), což je nevyhovující použití kódu 15 (Control-O, posun) interpretován jako „odstranění předchozí znak“ byl také adoptován mnoha brzy časové úseky systémů, ale nakonec se stal zanedbané.

Když Teletype 33 ASR vybaven automatickou čtečkou děrné pásky obdržela Control-S (XOFF, zkratka pro vysílání vypnuto), to způsobilo pásku čtenáře k zastavení; přijímání Control-Q (XON, „vysílat na“), způsobené páska čtenář pokračovat. Tato technika se stala přijal několik brzy operačních systémů jako „handshaking“ varovného signálu odesílatele k zastavení přenosu kvůli hrozící přetečení; přetrvává dodnes v mnoha systémech jako ruční řízení výstupu technikou. V některých systémech Control-S zachovává svůj význam, ale Control-Q nahrazuje druhý ovládací prvek-S pokračovat výstup. O délce 33 ASR rovněž mohly být nakonfigurován tak, aby použít Control-R (DC2) a kontrola-T (DC4) pro spuštění a zastavení děrovač pásky; na některých jednotek vybavených touto funkcí, odpovídající řídicí znak nápisy na keycap nad dopisu bylo páskou a páska , resp.

Teletype nemohl pohnout hlavou dozadu, takže se nedal klávesy na klávesnici poslat BS (Backspace). Místo toho byl klíčový označené „rubout“, který poslal kód 127 (DEL). Účelem tohoto klíče bylo vymazání chyby v ručně napsaný papírové pásky: operátor musel stisknout tlačítko na páskové razidla, zálohovat, zadejte rubout, který vyraženou všechny otvory a nahradila tu chybu, že se znak, který měla být ignorovány. Teletypes byly běžně používané pro levnějších počítačích od Digital Equipment Corporation , aby tyto systémy měly využívat dostupné klíče a tím i kód DEL vymažete předchozí znak. Z tohoto důvodu, video terminály DEC (výchozí nastavení) poslal kód DEL pro klíč s označením „Backspace“, zatímco klávesy označené „Delete“ poslal sekvence escape, zatímco mnoho jiných terminálů poslal BS pro klávesy Backspace. Řidič Unix terminál by mohl používat pouze jeden kód pro zálohování, což by mohlo být nastavena na BS nebo DEL, ale ne obojí, což má za následek velmi dlouhou dobu zlosti, kde jste museli opravit to v závislosti na tom, co terminál jste používali (moderní skořápky použitím Readline pochopit oba kódy). Předpoklad, že žádná klávesa poslal BS způsobil Control + H, které mají být použity pro jiné účely, například příkazem „help“ v Emacsu.

Mnoho dalších kontrolních kódů byly uvedeny významy docela odlišný od jejich původní. Znak „escape“ (ESC, kód 27), například, byl určen původně umožnit posílání další řídicí znaky jako literály místo vyvolání jejich význam. Jedná se o stejný význam „útěku“ setkal v kódování URL, jazyk C řetězců a dalších systémů, u nichž některé znaky mají vyhrazené význam. Postupem času se tento význam byl kooptován a byl nakonec změněn. V moderním použití, HSR poslal do terminálu obvykle označuje začátek příkazového sekvence obvykle ve formě tak zvané „ ANSI escape kód “ (nebo, přesněji řečeno, „ kontrolní sekvence zavaděč “) od ECMA-48 ( 1972) a jeho následníků, počínaje ESC následuje „[“ (znak doleva držáku). HSR poslal z terminálu je nejčastěji používán jako out-of-band charakteru použitého k ukončení operace, jako je tomu v TECO a vi textových editorů . V grafickém uživatelském rozhraní (GUI) a okenních systémů, ESC obvykle způsobí aplikace přerušit svůj aktuální operaci nebo ukončit (vypovědět) dohromady.

Vlastní dvojznačnost mnoho řídících znaků, kombinoval s jejich historickým použitím, vytvořil problémy při přenosu „prostý text“ soubory mezi systémy. Nejlepším příkladem toho je nový řádek problém na různých operačních systémech . Zapotřebí Teletype stroje, které řádek textu být ukončena s oběma „Carriage Return“ (který se pohybuje tiskovou hlavu na začátku řádku) a „přívodním potrubí“ (který posune papír o jeden řádek bez pohybu tiskové hlavy). Jméno „Carriage Return“ pochází ze skutečnosti, že na ruční psací stroj vozík drží papír pohybovali při poloha, do níž typebars udeřil pásku zůstal v klidu. Celý vozík musel být tlačen (vrácen) na pravé straně, aby na pozici levého okraje papíru na další řádek.

Prosince operačních systémů ( OS / 8 , RT-11 , RSX-11 , RSTS , TOPS-10 , atd.), Používá obě postavičky do znamenat konec řádku tak, že konzola zařízení (původně dálnopisu stroje ) bude fungovat. V době, kdy takzvaný „skleněný ttyS“ (později volal CRT nebo terminály) přišel, úmluva byla tak dobře prokázáno, že zpětná kompatibilita vynutil pokračování konvenci. Když Gary Kildall vytvořen CP / M se inspiroval některé konvence rozhraní příkazového řádku používaných v DEC je RT-11 . Až do zavedení PC DOS v roce 1981, IBM neměl ruku v tom, protože jejich 1970 operační systémy používané EBCDIC namísto ASCII a byly orientovány směrem ke vstupu punč karty a výstupu řádkové tiskárny, na které se pojem návrat vozíku bylo nesmyslné. IBM PC DOS (také prodávaný jako MS-DOS od Microsoftu) zdědil konvenci na základě bytí volně založený na CP / M a Windows jej zdědil ze systému MS-DOS.

Bohužel, vyžadují dva znaky označují konec řádku zavádí zbytečnou složitost a otázky ohledně toho, jak interpretovat jednotlivé znaky, když se setkal o samotě. Pro zjednodušení prostého textu datové toky, včetně souborů, na Multics používaných přívodu (LF), samostatně jako linka terminátor. Unix a Unix-jako systémy, a Amiga systémy, které bylo přijato tuto konvenci z Multics. Původní Macintosh OS , Apple DOS a ProDOS , na druhé straně, který se používá návrat vozíku (CR) jako jediného řádku terminátor; Vzhledem k tomu, Apple nahradil tyto operační systémy s Unix založené na MacOS operačního systému, které nyní používají line feed (LF) stejně. Radio Shack TRS-80 také používal osamělý CR ukončit linky.

Počítače připojené k ARPANET součástí stroje běžící operační systémy jako TOPS-10 a TENEX pomocí CR-LF konce řádků, stroje běžící operační systémy jako Multics pomocí LF konce řádků, a stroje s operačním systémem, jako je OS / 360 , která reprezentovala řádky jako hrabě znak následovaný znaky linky a že použitý EBCDIC spíše než ASCII. Telnet protokol definovaný ASCII „ Network Virtual Terminal “ (NVT), takže spojení mezi počítači s různými konvencemi linie nekončí a znakových sad by mohla být podpořena vysláním standardního textový formát přes síť. Telnet používá ASCII spolu s CR-LF konci řádků a software pomocí dalších konvencí by překládat mezi místními úmluv a NVT. File Transfer Protocol přijat protokol Telnet, včetně využití Network Virtual Terminal, pro použití při předávání příkazů a přenosu dat v režimu výchozích ASCII. To zvyšuje složitost implementace těchto protokolů, a na dalších síťových protokolů, jako jsou ty, které používají pro e-mail a World Wide Web, na systémech, které nepoužívají NVT je CR-LF řádku nekončící konvence.

PDP-6 monitor, a jeho PDP-10 nástupce TOPS-10, který se používá Control-Z (SUB) jako koncové souboru indikace pro vstup z terminálu. Některé operační systémy, jako je CP / M sledovány délku souboru pouze v jednotkách diskových bloků a používá Control-Z označit konec aktuálního textu v souboru. Z těchto důvodů EOF, nebo end-of-file byl používán hovorově a konvenčně jako tří písmen akronym pro Control-Z namísto střídat. Konec-of-textu kód ( ETX ), také známý jako Control-C , byl nevhodný z různých důvodů, při použití Z jako řídicí kód na konec souboru, je analogický k ní ukončení abecedu a slouží jako velmi pohodlné mnemotechnická pomůcka . Historicky běžné a stále převládá konvence používá kódové konvence ETX přerušit a zastavit program pomocí vstupního datového toku, obvykle z klávesnice.

V knihovně C a UNIX konvence je znak null se používá k ukončení textových řetězců ; tyto řetězce null zakončený mohou být známy v zkratka podle ASCIZ nebo ASCIIZ, kde zde Z znamená „nulu“.

dvojitý říjen prosince hex Zkratka Name (1967)
1963 1965 1967
000 0000 000 0 00 NULA NUL ^@ \0 Nula
000 0001 001 1 01 SOM SOH ^A Začátek okruhu
000 0010 002 2 02 EOA STX ^B Začátek textu
000 0011 003 3 03 EOM ETX ^C Konec textu
000 0100 004 4 04 EOT ^D End of Transmission
000 0101 005 5 05 WRU ENQ ^E Poptávka
000 0110 006 6 06 RU ACK ^F Potvrzení
000 0111 007 7 07 ZVONEK BEL ^G \a Zvonek
000 1000 010 8 08 FE0 BS ^H \b Backspace
000 1001 011 9 09 HT / SK HT ^I \t horizontální Tab
000 1010 012 10 0A LF ^J \n nátok
000 1011 013 11 0B VTAB VT ^K \v Vertical Tab
000 1100 014 12 0C FF ^L \f Form Feed
000 1101 015 13 0D CR ^M \r návrat vozíku
000 1110 016 14 0E TAK ^N Shift Out
000 1111 017 15 0F SI ^O posun
001 0000 020 16 10 DC0 DLE ^P Data Link uniknout
001 0001 021 17 11 DC1 ^Q Řídicí zařízení 1 (často XON )
001 0010 022 18 12 DC2 ^R Ovládací zařízení 2
001 0011 023 19 13 DC3 ^S Řídicí zařízení 3 (často XOFF )
001 0100 024 20 14 DC4 ^T Ovládací zařízení 4
001 0101 025 21 15 CHYBOVAT NAK ^U negativní Potvrzení
001 0110 026 22 16 SYNC SYN ^V synchronní Idle
001 0111 027 23 17 LEM ETB ^W End of Transmission Block
001 1000 030 24 18 S0 UMĚT ^X zrušení
001 1001 031 25 19 S1 EM ^Y End of Medium
001 1010 032 26 1A S2 SS SUB ^Z Nahradit
001 1011 033 27 1B S3 ESC ^[ \e Uniknout
001 1100 034 28 1C S4 FS ^\ soubor oddělovač
001 1101 035 29 1D S5 GS ^] Group Separator
001 1110 036 30 1E S6 RS ^^ Record Separator
001 1111 037 31 1F S7 NÁS ^_ Unit Separator
111 1111 177 127 7F DEL ^? vymazat

Jiné reprezentace by mohla být použita speciálního vybavení, jako je například ISO 2047 grafickou nebo hexadecimální čísla.

tisknutelné znaky

Kódy 20 hex až 7E hex , známý jako tisknutelné znaky představují písmena, číslice, interpunkční znaménka , a nemnoho různé symboly. Existuje 95 tisknutelné znaky celkem.

Kód 20 hex je znak „mezera“ , označuje mezeru mezi slovy, jak produkoval mezerníkem části klávesnice. Vzhledem k tomu, mezera je považována za neviditelnou grafika (spíše než kontrolní znak) je uveden v následující tabulce místo v předchozí části.

Kód 7F hex odpovídá netisknutelné „odstranit“ (DEL) řídicí znak, a je proto vynechán z tohoto grafu; to se vztahuje na grafu předchozí části je. Dřívější verze ASCII použít šipku nahoru místo stříšky (5E hex ) a levé šipky namísto podtržení (5F hex ).

dvojitý říjen prosince hex Glyph
1963 1965 1967
010 0000 040 32 20  prostor
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D -
010 1110 056 46 2E ,
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?
100 0000 100 64 40 @ ` @
100 0001 101 65 41 A
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44 D
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 G
100 1000 110 72 48 H
100 1001 111 73 49
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F Ó
101 0000 120 80 50 P
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 PROTI
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \ ~ \
101 1101 135 93 5 D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
110 0000 140 96 60 @ `
110 0001 141 97 61 A
110 0010 142 98 62 b
110 0011 143 99 63 C
110 0100 144 100 64 d
110 0101 145 101 65 E
110 0110 146 102 66 F
110 0111 147 103 67 G
110 1000 150 104 68 hod
110 1001 151 105 69
110 1010 152 106 6A j
110 1011 153 107 6B k
110 1100 154 108 6C l
110 1101 155 109 6D m
110 1110 156 110 6E n
110 1111 157 111 6F Ó
111 0000 160 112 70 p
111 0001 161 113 71 q
111 0010 162 114 72 r
111 0011 163 115 73 s
111 0100 164 116 74 T
111 0101 165 117 75 u
111 0110 166 118 76 proti
111 0111 167 119 77 w
111 1000 170 120 78 X
111 1001 171 121 79 y
111 1010 172 122 7A z
111 1011 173 123 7B {
111 1100 174 124 7C ACK ¬ |
111 1101 175 125 7D }
111 1110 176 126 7E ESC | ~

Znaková sada

ASCII (1977/1986)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
NUL
0000
SOH
0001
STX
0002
ETX
0003
EOT
0004
ENQ
0005
ACK
0006
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013
DC4
0014
NAK
0015
SYN
0016
ETB
0017
CAN
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
US
001F
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
a
0026
"
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
,
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6.
0036
7
0037
8
0038
9.
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040

0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005b
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060

0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007b
|
007C
}
007D
~
007E
DEL
007F

  Letter    Počet    interpunkce    Symbol  Další  undefined  změny od roku 1963 verze      

Použití

ASCII byl nejprve použitý komerčně v roce 1963 jako sedm-bitový kód pro dálnopis American Telephone & Telegraph síti ‚s TWX (dálnopis Exchange). TWX původně používal starší pěti bitů ITA2 , který byl také používán konkurenční Telex dálnopisu systému. Bob Bemer představil rysy, jako je například sekvence escape . Jeho britský kolega Hugh McGregor Ross pomáhal propagovat tuto práci - podle Bemer, „a to natolik, že kód, který se měl stát ASCII byl nejprve nazýván Bemer-Ross Code v Evropě“. Vzhledem ke své rozsáhlé práce na ASCII, Bemer byl nazýván „otcem ASCII“.

Dne 11. března 1968, USA prezident Lyndon B. Johnson pověřila, aby všechny počítače zakoupené v USA federální podpůrné ASCII vlády, říkat:

Také jsem schválil doporučení sekretář obchodu týkající se standardů pro zaznamenávání standardní kód pro výměnu informací na magnetických páskách a papírové pásky, když jsou použity v počítačových operací. Všechny počítače a související konfigurace zařízení přinesl do spolkové vlády inventáře 1. července 1969 a po něm, musí mít schopnost používat standardní kód pro výměnu informací a formáty předepsané magnetickými pásky a papírová páska norem při použití těchto médií.

ASCII byl nejčastější kódování znaků na World Wide Web až do prosince 2007, kdy UTF-8 je kódování překonaly; UTF-8 je zpětně kompatibilní s ASCII.

Varianty a původy

Jako výpočetní techniky rozšířily po celém světě, různé normalizační orgány a korporace vyvinuli mnoho variací ASCII aby usnadnil výraz non-angličtiny, které používaly abecedy Roman bázi. Dalo by se třída některé z těchto variant jako „ rozšíření ASCII “, ačkoli někteří zneužití tento termín reprezentovat všechny varianty, včetně těch, které nezachovávají ASCII charakter-map v 7-bitovém rozsahu. Kromě toho rozšíření ASCII byly rovněž mislabelled jako ASCII.

7-bitové kódy

Od brzy v jeho vývoji, ASCII měla být jen jedním z několika národních variant mezinárodní standard kód znaku.

Jiné mezinárodní normalizační orgány neratifikují kódování znaků, například ISO 646 (1967), které jsou totožné nebo téměř totožné s ASCII, s rozšířeními pro znaky mimo anglickou abecedu a symboly používané mimo území Spojených států, jako symbol pro Spojené království je libra šterlinků (£). Téměř každá země potřebovala přizpůsobenou verzi ASCII, protože ASCII vyhovovalo potřebám pouze v USA a několika dalších zemích. Například Kanada měla svou vlastní verzi, která podporované francouzské znaky.

Mnoho jiných zemí vyvinuli varianty ASCII tak, aby zahrnovala non-anglické dopisy (například é , ñ , ß , £ ), symboly měn (např £ , ¥ ), atd. Viz také YUSCII (Jugoslávie).

To by sdílet většinu znaky společné, ale přiřadit jiné lokálně užitečné znaky do několika bodů kódu vyhrazena pro „vnitrostátní provoz“. Nicméně, čtyři roky, které uplynuly mezi zveřejněním ASCII-1963 a první ISO přijalo mezinárodní doporučení v průběhu roku 1967 způsobil volby ASCII pro národní znaky podle účelu použití se zdá být de facto standardy na světě a způsobuje zmatek a nesoulad jednou jiných zemí to začít dělat své vlastní úkoly těchto bodů kódu.

ISO / IEC 646, stejně jako ASCII, je 7-bitová znaková sada a. To neznamená, že případné další kódy k dispozici, a proto jsou stejné body kódu kódována různé postavy v různých zemích. Únikové kódy byly definovány tak, že označení, které národní varianta aplikuje na kus textu, ale oni byli zřídka, takže bylo často nemožné vědět, co varianta k práci s, a proto, který znakový kód zastoupeny, a obecně na textové systémy zpracování mohl zvládnout pouze jedna varianta v každém případě.

Vzhledem k tomu, konzolové a rovnátka znaků ASCII bylo přiděleno „národní využití“ body kódu, které byly použity pro znaky s diakritikou v jiných národních variant ISO / IEC 646, německý, francouzský, nebo švédské, atd. Programátor které používají svou národní variantu ISO / IEC 646, spíše než ASCII, musel psát, a tak četl, něco takového jako

ä aÄiÜ = 'Ön'; ü

namísto

{ a[i] = '\n'; }

C trigraphs byly vytvořeny, jak vyřešit tento problém pro ANSI C , ačkoli jejich pozdní zavedení a nejednotné provádění v překladačů omezena jejich použití. Mnoho programátorů stále své počítače na US-ASCII, takže prostý text ve švédštině, němčině atd. (Například e-mail nebo Usenet ) obsahoval „{,}“ a podobné varianty uprostřed slova, něco ti programátoři dostal bývalo. Například švédský programátor zaslání dalšího programátora s dotazem, zda by měly jít na oběd, mohl dostat „N {jag har sm | RG} sar“ jako odpověď, která by měla být „NA jag har smörgåsar“, což znamená „Ne, já mám sendviče“.

8-bitové kódy

Nakonec, jak 8-, 16- a 32-bit (a později 64-bit ) začal počítače nahradit 12- , 18- a 36-bitové počítače jako standard, to stalo se obyčejné použít 8bitový bajt pro uložení každého znak v paměti, které poskytují příležitost pro prodloužené, 8-bitových příbuzné ASCII. Ve většině případů se tyto vyvinut jako skutečné rozšíření ASCII, takže původní charakter-mapování neporušená, ale přidáním další definice charakteru po prvních 128 (tj, 7 bitů) znaků.

Kódování patří ISCII (Indie), VISCII (Vietnam). Ačkoli tyto kódování jsou někdy označovány jako ASCII, pravda ASCII je definována striktně pouze normou ANSI.

Nejvíce časné domácí počítačové systémy vyvinuly vlastní 8bitové znakové sady, které obsahují řádkové-kreslení a hry piktogramy a často naplněné v některých nebo všech řídících znaků od 0 do 31 s více grafikou. Kaypro CP / M počítače používaly „horní“ 128 znaků řecké abecedy.

PETSCII kód Commodore International používá pro své 8-bitových systémů je pravděpodobně jedinečný mezi post-1970 kódů jsou založeny na ASCII 1963 namísto běžnější ASCII-1967, jako je k dispozici na ZX Spectrum počítače. Atari 8-bitových počítačů a Galaksija počítače použít i varianty ASCII.

IBM PC je definován CP437 , který nahradil kontrolní znaky grafických symbolů, jako jsou smajlíky , a zmapoval další grafické znaky do horních 128 pozic. Operační systémy, jako je DOS podporovány tyto stránky kód, a výrobci IBM PC podporoval je v hardwaru. Digital Equipment Corporation vyvinula Multinational znakovou sadu (DEC-MCS) pro použití v oblíbeném VT220 terminálu jako jeden z prvních výstupků určených spíše pro mezinárodní jazyky než u blokových grafiku. Macintosh definován Mac OS Říman a Postscript také definoval oba tyto obsažených obou mezinárodních písmen a typografických značek interpunkce namísto grafiky, více jako moderní znakových sad.

8859 ISO / IEC standard (odvozeno od DEC-MCS), nakonec za předpokladu, standard, který zkopírovaný většina systémů (alespoň tak přesně, jak kopírovat ASCII, ale s mnoha substituce). Populární další rozšíření navržený společností Microsoft, Windows-1252 (často mislabeled jako ISO-8859-1 ), přidal typografické interpunkční znaménka potřebné pro tradiční tisk textu. ISO-8859-1, Windows-1252 a originál 7-bit ASCII byly nejčastější kódování znaků až do roku 2008, kdy UTF-8 stal se více obyčejný.

ISO / IEC 4873 zavádí 32 další řídicí kódy definované v 80-9F hexadecimálním rozmezí, v rámci rozšíření kódování 7 bit ASCII, aby se stal 8-bitový systém.

Unicode

Unicode a ISO / IEC 10646 Univerzální znaková sada (USS) mají mnohem širší řadu znaků, a jejich různé formy kódování začaly nahradit ISO / IEC 8859 a ASCII rychle v mnoha prostředích. Zatímco ASCII je omezena na 128 znaků, Unicode a UCS podporují více znaků oddělením pojmy jednoznačnou identifikaci (za použití přirozených čísel zvaných body kódu ) a kódování (na 8-, 16- nebo 32-bitová binární formáty, s názvem UTF-8 , UTF-16 a UTF-32 ).

ASCII byl včleněn do Unicode (1991) znakovou sadu jako první 128 symbolů, takže 7-bit ASCII znaky mají stejné číselné kódy v obou sadách. To umožňuje, UTF-8 , aby se zpětně kompatibilní s 7-kousek ASCII, jako UTF-8 soubor obsahující pouze ASCII znaky je totožný s ASCII souboru, který obsahuje stejný sled znaků. Ještě důležitější je, že vpřed kompatibilita je zajištěna softwarem, který rozpoznává pouze 7-bitové ASCII znaky jako zvláštní a nemění bajtů s nejvyšším bitem (jak se často provádí na podporu 8-bitové rozšíření ASCII, jako je ISO-8859-1) zachová UTF-8 dat beze změny.

viz též

Poznámky

Reference

Další čtení

externí odkazy