ASCII
ASCII (American Standard Códa pro Information Interchange), obecně prohlásil [ˈæski], je charakter kódování založené na anglické abecedě. ASCII kódy reprezentují text v počítačích, komunikačním vybavení a jiných zařízeních, která pracují s textem. Většina moderních charakterových encodings má historický základ v ASCII.
ASCII byl nejprve vydáván jako standard v roce 1967 a byl naposledy aktualizován v roce 1986. To současně definuje kódy 33 non-tisk, většinou zastaralé řídící znaky, které ovlivní jak text je zpracován, plus pokračování 95 otisknutelných charakterů (začínat charakterem prostoru):
! “# $ % a ' () * +, -. / 0123456789:;
Přehled
Mít rád jinou reprezentaci charakteru počítačové kódy, ASCII specifikuje korespondenci mezi digitálními bitovými vzory a symboly/glyphs psaného jazyka, tak dovolovat digitální zařízení komunikovat spolu navzájem a k procesu, obchod, a sdělit charakter-orientované informace. Kódování ASCII znaku[1] — nebo slučitelné rozšíření (vidět dolů) — je používán na skoro všechny obyčejné počítače, obzvláště osobní počítače a pracovní stanice. Přednostní pantomima jméno pro toto kódování je “nás-ASCII”.[2]
ASCII je, přísně, sedm-kousl kód, znamenat, že to používá vzory kousku representable se sedmi binárními čísly (rozsah 0 k 127 desetině) reprezentovat informace charakteru. V té době ASCII byl představen, mnohé počítače zabývaly se osm-kousl skupiny (bajty nebo, více specificky, oktety) jako nejmenší jednotka informací; osmý kousek byl běžně používaný jako paritní bit pro chybu kontrolovat osy komunikace nebo jiné zařízení-specifické funkce. Stroje který nepoužíval paritu typicky převedl osmý kousek do nuly, ačkoli některé systémy takový jako Prime stroje, které funguje PRIMOS dal osmý kousek ASCII znaků k jednomu.
ASCII jen definuje vztah mezi specifickými charaktery a sledy kousku; až na rezervování nemnoho kontrolních kódů linky-orientované formátování, to nedefinuje nějaký mechanismus pro popsaní struktury nebo vzhled textu uvnitř dokumentu. Takové představy jsou uvnitř oblasti jiných systémů takový jako značkovací jazyky.
Historie
ASCII se vyvíjel z telegrafických kódů a prvního přihlášeného komerčního použití jak sedm-kousek teleprinter kód podporovaný Bell datovými službami. Bell systém předtím plánoval k použití šest-kousl kód, odvozený z Fieldata, to přidalo interpunkci a malá písmena k dříve pět-kousl Baudot kód teleprinter, ale byl přesvědčen místo toho se připojit k ASA podvýboru, který začal vyvíjet se ASCII. Baudot pomáhal v automatizaci odesílání a obdržení telegrafických zpráv, a vzal mnoho rysů od Morseovy abecedy; nicméně, na rozdíl od Morseovy abecedy, Baudot používal konstantu-kódy délky. Se vyrovnal časnějším telegrafním kódům, navrhovaný Bell kód a ASCII oba podstoupili re-uspořádání pro více příhodné třídění (obzvláště alphabetization) seznamů, a přidal rysy pro zařízení jiný než teleprinters. Bob Bemer představil rysy takový jak ' příkazová sekvence '. Jeho kolega Britů Hugh Mcgregor Ross pomáhal propagovat tuto práci, zatímco Bemer říkal, “tolik tak to kód, který měl stát se ASCII byl nejprve nazýván Bemer-Ross kód v Evropě”.
Američan asociace standardů (ASA, pozdnější se stát ANSI) nejprve publikoval ASCII jako standard v roce 1963. ASCII-1963 postrádal malá písmena, a měl nahoru-šipka (?) místo stříšky (^) a odešel-šipka (?) místo toho podtrhnout (_). 1967 verze přidalo malá písmena, změnil jména nemnoho řídících znaků a pohyboval dvěma kontrolami ACK a únik od oblasti malých písmen do kontroly oblast kódů.
ASCII byl následovně aktualizovaný a publikoval jako ANSI X3.4-1968, ANSI X3.4-1977, a konečně, ANSI X3.4-1986.
Jiná těla mezinárodních úrovní ratifikovala encodings charakteru, které jsou totožné nebo téměř totožný k ASCII. Tyto encodings jsou někdy odkazoval se na jak ASCII, dokonce ačkoli ASCII je přísně definovaný jediný ASA/ANSI standardy:
- Evropan asociace počítačových výrobců publikovala vydání jeho ASCII klona, ECMA-6, v roce 1965, 1967, 1970, 1973, 1983, a 1991. 1991 vydání je stejné jako ANSI X3.4-1986.[3]
- Mezinárodní organizace pro standardizaci publikovala jeho verzi, ISO 646 (pozdnější ISO/IEC 646) v roce 1967, 1972, 1983, a 1991. ISO 646: 1972, zvláště, založil soubor země-specifické verze s charaktery interpunkce nahrazenými non-anglické dopisy. ISO/IEC 646: 1991 mezinárodního odkazu verze je stejná jako ANSI X3.4-1986.
- Mezinárodní telekomunikační odbor vydával jeho verzi ANSI X3.4-1986, ITU-T doporučení T.50, v roce 1992. V časných sedmdesátých létech, pod jménem CCITT, stejný organizace publikovala verzi jako CCITT doporučení V.3.
- Rámus publikoval verzi ASCII jako rámus 66003 v roce 1974.
- IETF publikoval verzi v roce 1969 jako RFC 20, a ustavený Internet je standardní verze, založený na ANSI X3.4-1986, s vydáním RFC 1345 v roce 1992.
- IBM verze ANSI X3.4-1986 je vydáván v IBM technické literatuře jako kódová stránka 367.
ASCII také stal se vložený v jeho pravděpodobném nahrazení, unikód, jak ' nejnižší ' 128 charakterů. Někteří pozorovatelé zvažují ASCII většina “úspěšného” softwaru standard někdy propagoval.
ASCII řídící znaky
ASCII rezervy prvních 32 kódů (čísla 0 – 31 desetiny) pro řídící znaky: kódy původně zamýšlely nenést otisknutelné informace, ale poněkud ke kontrolním zařízením (takový jako tiskárny) to přimět k používání ASCII, nebo poskytovat meta-informace o datových proudech takový jak ti skladovali na magnetickém pásku. Například, charakter 10 reprezentuje “posun o řádek” fungovat (který přiměje tiskárnu, aby urychlil jeho papír), a charakter 8 reprezentuje “špatný krok”.
Originální ASCII standard používal jen krátké popisné výrazy pro každý řídící znak. Dvojznačnost toto vlevo bylo někdy úmyslné (kde charakter by byl použitý lehce rozdílně na spojení terminálu než na datovém proudu) a někdy více accidental (takový jako co “vymazat” prostředky).
Pravděpodobně nejvíce vlivné jediné zařízení na výkladu těchto charakterů bylo Teletype korporace modelovat 33 série, který byl tiskový terminál s dostupným papírovým snímačem pásky/volba šídla. Děrná páska byla velmi populární médium pro dlouhodobé programové ukládání nahoru přes osmdesátá léta, nižší náklady a v některých cestách méně křehký než magnetická páska. Zvláště, Teletype 33 domácích cvičení stroje pro kódy 17 (kontrola-Q, DC1, aka XON), 19 (kontrola-S, DC3, aka XOFF), a 127 (vymazat) se stál de-facto standardy. Jeho noncompliant použití kódu 15 (kontrola-O, posun v) jako “levá šipka”, obvykle tlumočil jak “vymazat předchozí charakter” byl také adoptován mnoha brzy timesharing systémy ale nakonec mizel.
Použití kontroly-S (XOFF, zkratka pro “přenášet pryč”) jako potvrzovací signál varovat odesílatele k přenosu zastávky kvůli tomu, že hrozí přetékat, a kontrola-Q (XON, “přenášet na”) pokračovat v odesílání, přetrvává k tomuto dni v mnoha systémech jako ruční výstupní kontrolní technika. Na některých systémech Control-S udrží jeho význam ale Control-Q je nahrazený sekundou Control-S obnovit výrobu.
Kód 127 je oficiálně pojmenovaný “vymazat” ale Teletype popiska “rubout”. Od originálu standard dával žádný detailní výklad pro kódy maximální kontroly, výklady tohoto kódu se měnily. Originální Teletype význam měl dělat tomu ignorovaný charakter, stejný jako nula (všechny nuly). Toto bylo specificky užitečné pro děrnou pásku, protože děrování všichni-ones vzor kousku nad existující značkou by odstranil to. Nahrává navržený být “ruka editovala” mohl dokonce být vytvořený s dobami zvláštních nul (páska prázdného místa) tak to blok charakterů mohl být “vymazaný” a pak nahrazení dala do prázdného prostoru.
Jako video terminály začaly nahradit tiskové, hodnota “rubout” charakteru byla ztracena. Unixové systémy, například, interpretovaný “vymazat” mínit “odstranit charakter před kurzorem”. Většina jiných systémů používalo “špatný krok” pro to významný a použitý “vymazat” mínit “odstranit charakter po kurzoru”. Ten druhý výklad je nejvíce obyčejný dnes.
Mnoho více kontroly kódy získaly smysly docela odlišný od jejich originální. “únikový” charakter (kód 27), například, byl původně zamýšlel dovolit poslat jiné řídící znaky jako literals místo toho, aby se odvolal na jejich význam. Toto je stejné význam “útěku” setkal se s v URL encodings, C řetězce jazyka, a jiné systémy kde jisté charaktery mají rezervovaný smysl. V průběhu doby tento význam byl coopted a nakonec driftoval. Například, únik byl používán jako protější druh útěku ve velmi vlivném TECO editoru, kde normální charaktery byly data být přihlášený a jeden používal únik, aby představil příkaz. V moderním užívání, únik je nejvíce často použitý jak “ven skupiny” charakter skončil operaci.
Neodmyslitelná dvojznačnost mnoho řídících znaků, kombinoval s jejich historickým použitím, také vytvořil problémy když přenese “prosté textové” soubory mezi systémy. Nejjasnější příklad tohoto je problém nového řádku na různých operačních systémech. Na terminálech tisku není tam žádná otázka že vy skončíte řadu textu s oběma “řádkový předěl” a “Linefeed”. První návraty tiskový vozík k začátku linky a druhým postupům k příští lince bez pohybování kočár. Ale mnoho časných video terminálů nedovolilo linefeed bez implikovaného řádkového předělu, tak řádkový předěl stal se nadměrný. Od této doby prosté textové soubory na Unix systémech jen obsahují linefeeds. Ale mnoho tiskáren nerealizovalo linefeeds, a automaticky urychlil linku když vykonává řádkový předěl. Tak starší Macintosh systémy, mezi ostatními, uložit jediné řádkové předěly v prostých textových souborech. CP/M (předchůdce MS-DOS) pokoušel se být více “kompatibilní” s dvojznačným ASCII standardem, který je proč to dá jak řádkový předěl tak linefeed v prostých textových souborech - a kontrola použití-C (ETX, konec textu) označit konec aktuálního textu v souboru.
Zatímco kódy zmínily se o nahoře udrželi nějaké zdání jejich významů originálu, mnoho z kódů původně určených oddělovačům potoku nebo pro kontrolu spojení na terminálu ztratili celý smysl kromě jejich vztahu k dopisu. Kontrola-je téměř nikdy použitý znamenat “start záhlaví” kromě na ANSI magnetické pásce, kontrola-N a kontrola-O být v podstatě nikdy použitý se odvolat na střídavou znakovou sadu pro krátký běh charakterů, etc. Když spojí terminál se systémem, nebo žádat systém, aby rozpoznal to nahraný-ven terminál chce přihlásit se, moderní systémy jsou hodně více pravděpodobné, že chce řádkový předěl nebo útěk než kontrola-E (se zeptat, “je tam někdo venku?”).
| Binární | Oct | Dec | Hexadecimální | Abbr | PR[1] | CS[2] | Popis |
|---|---|---|---|---|---|---|---|
| 0000 0000 | 000 | 0 | 00 | Nula | ? | ^ @ | Charakter nuly |
| 0000 0001 | 001 | 1 | 01 | SOH | ? | ^ | Start záhlaví |
| 0000 0010 | 002 | 2 | 02 | STX | ? | ^ B | Start textu |
| 0000 0011 | 003 | 3 | 03 | ETX | ? | ^ C | Konec textu |
| 0000 0100 | 004 | 4 | 04 | EOT | ? | ^ D | Konec přenosu |
| 0000 0101 | 005 | 5 | 05 | ENQ | ? | ^ E | Dotaz |
| 0000 0110 | 006 | 6 | 06 | ACK | ? | ^ F | Poděkování |
| 0000 0111 | 007 | 7 | 07 | Bel | ? | ^ G | Zvon |
| 0000 1000 | 010 | 8 | 08 | BS | ? | ^ H | Špatný krok[3][7] |
| 0000 1001 | 011 | 9 | 09 | HT | ? | ^ I | Vodorovný tabelátor |
| 0000 1010 | 012 | 10 | 0A | LF | ? | ^ J | Posun o řádek |
| 0000 1011 | 013 | 11 | 0B | VT | ? | ^ K | Svislý tabelátor |
| 0000 1100 | 014 | 12 | 0C | FF | ? | ^ L | Přechod na novou stránku |
| 0000 1101 | 015 | 13 | 0D | CR | ? | ^ M | Řádkový předěl[6] |
| 0000 1110 | 016 | 14 | 0E | Tak | ? | ^ N | Posunout se ven |
| 0000 1111 | 017 | 15 | 0F | Si | ? | ^ O | Posun v |
| 0001 0000 | 020 | 16 | 10 | DLE | ? | ^ P | Útěk datového spojení |
| 0001 0001 | 021 | 17 | 11 | DC1 | ? | ^ Q | Ovládání zařízení 1 (oft. XON) |
| 0001 0010 | 022 | 18 | 12 | DC2 | ? | ^ R | Ovládání zařízení 2 |
| 0001 0011 | 023 | 19 | 13 | DC3 | ? | ^ S | Ovládání zařízení 3 (oft. XOFF) |
| 0001 0100 | 024 | 20 | 14 | DC4 | ? | ^ T | Ovládání zařízení 4 |
| 0001 0101 | 025 | 21 | 15 | NAK | ? | ^ U | Negativní potvrzení |
| 0001 0110 | 026 | 22 | 16 | SYN | ? | ^ V | Synchronní líný |
| 0001 0111 | 027 | 23 | 17 | ETB | ? | ^ W | Skončete Trans. Blok |
| 0001 1000 | 030 | 24 | 18 | Moci | ? | ^ X | Cancel |
| 0001 1001 | 031 | 25 | 19 | Em | ? | ^ Y | Konec média |
| 0001 1010 | 032 | 26 | 1A | Náhradník | ? | ^ Z | Náhrada |
| 0001 1011 | 033 | 27 | 1B | Únik | ? | ^ [ | Útěk[5] |
| 0001 1100 | 034 | 28 | 1C | FS | ? | ^ \ | Oddělovač souboru |
| 0001 1101 | 035 | 29 | 1D | GS | ? | ^] | Oddělovač skupiny |
| 0001 1110 | 036 | 30 | 1E | RS | ? | ^ ^ | Oddělovač záznamu |
| 0001 1111 | 037 | 31 | 1F | Nás | ? | ^ _ | Oddělovač jednotky |
| 0111 1111 | 177 | 127 | 7F | Del | ? | ^? | Vymazat[4][7] |
- Otisknutelná reprezentace, charaktery unikóda rezervovaly pro reprezentovat řídící znaky když to je nutné tisknout nebo zobrazovat je spíše než mít je provádět jejich zamýšlenou funkci. Některé prohlížeče nemohou zobrazovat tyto vhodně.
- Sekvence řídící klávesy, tradiční klíčové sekvence pro uložit řídící znaky. Stříška (^) reprezentuje “kontrolu” nebo “Ctrl” klíč, který musí být držel dole zatímco zmáčkne druhou klávesu ve sledu. Stříška-reprezentace klíče je také používána nějakým softwarem reprezentovat řídící znaky.
- Charakter špatného kroku může také být zadán tím, že stiskne “špatný krok”, “Bksp”, nebo? klíč na některých systémech.
- Vymazat charakter může také být zadán lisováním “vymazat” nebo “Del” klíč. To může také být zadáno tím, že stiskne “špatný krok”, “Bksp”, nebo? klíč na některých systémech.
- ESC znak může také být zadán tím, že stiskne “útěk” nebo “únik” klíč na některých systémech.
- Charakter řádkového předělu může také být zadán tím, že stiskne “návrat”, “Ret”, “vstoupit”, nebo? klíč na většině systémech.
- Obklopení dvojznačnosti Backspace klíč přijde ze systémů, které překládaly kontrolu Dela charakter do BS (špatný krok) dříve přenášet to. Nějaký software byl neschopný zpracovat charakter a odkázaný displej “^ H” místo toho. “^ H” pokračuje ve zprávách dnes jako úmyslné vtipné zařízení, např. “tam je výhonek ^ H ^ H ^ H ^ H ^ H ^ Hpotential zákazník narozená každá minuta”. Méně obyčejná varianta tohoto zahrnuje použití “^ W”, který v některých textových editorech prostředky “vymažou předchozí slovo”. Věta příkladu odkázaný proto také pracovat jako “tam je výhonek ^ W potenciální zákazník narozená každá minuta”.
ASCII otisknutelné charaktery
Kód 32, “prostorový” charakter, naznačuje mezeru mezi slovy, jak produkoval velkým prostorem-kostka klávesnice. Kódy 33 k 126, známý jako otisknutelné charaktery, reprezentovat dopisy, číslice, interpunkční znaménka, a nemnoho rozmanitých symbolů.
Sedm-kousek ASCII poskytoval sedm “národních” charakterů a, jestliže spojený hardware a software dovolí, moci používat přetisknutí, aby simuloval některé další mezinárodní znaky: v takový scénář špatný krok může předcházet tupému přízvuku (který americké a britské standardy, ale jediný ty standardy, také volat “zahajovací jedinou uvozovku”), tilde nebo značka dechu (invertovali vel).
|
|
|
Konstrukční detaily
- Číslice 0-9 být reprezentován s jejich hodnotami v binárním prefixed s 0011 (toto znamená to bcd-ASCII je prostě věc braní každý bcd půlbajt odděleně a prefixing 0011 k tomu.
- Malé písmo a velké dopisy jen se liší ve vzoru kousku jediným kouskem zjednodušovat případovou přeměnu na test rozsahu (vyhýbat se změnit charaktery, které nejsou dopisy) a jediná bitová operace.
Aliasy pro ASCII
RFC 1345 (publikoval v červnu 1992) a IANA registr s povahou stane se (pokračující), oba rozpoznají následující případ-necitelná druhá jména pro ASCII jak vhodný pro použití na internetu:
- ANSI_X3.4-1968 (kanonické jméno)
- ANSI_X3.4-1986
- ASCII
- Nás-ASCII (přednostní jméno pantomimy)
- nás
- ISO646-nás
- ISO_646.irv: 1991
- iso-ir-6
- IBM367
- cp367
- csASCII
Tito, jediný aliasy “nás-ASCII” a “ASCII” dosáhli rozšířeného používání. Jeden často najde je v nepovinný “charset” parametr v obsahu-psát záhlaví některých zpráv pantomimy, v ekvivalentu “meta” prvek některých HTML dokumentů, a v deklaraci kódování díl prolog některých XML dokumentů.
Varianty ASCII
Jak počítačová technologie se rozšířila po celém světě, různý těla standardů a korporace vyvinuli mnoho variací ASCII aby usnadnil výraz non-angličtiny, které používaly Romana-založené abecedy. Jeden mohl třídit některé těchto variací jako “ASCII rozšíření”, ačkoli někteří mis-aplikovat ten termín na kryt všechny varianty, včetně těch to nechrání ASCII má povahu-mapa v 7-kousl rozsah.
ISO 646 (1972), první pokus k nápravě pro-anglický-zaujatost jazyka, plodil kompatibilitní problémy, protože to zůstalo 7-charakter kousku-soubor. To dělalo žádné další dostupné kódy, tak to reassigned některé v jazyce-specifické varianty. To tak stalo se nemožné znát jakou povahu kód reprezentovaný bez vědění která varianta k práci s, a text-systémy zpracování mohly obecně si poradit se jen jednou variantou rozhodně.
Nakonec, zlepšená technologie přinášela ven-- skupina chce reprezentovat informace předtím kódoval v osmém kousku každého bajtu, umožnit tomuto kousku přidat jiného 128 dalšího charakteru-kódy nových úkolů. Například, IBM se vyvíjel 8-kousl kódové stránky, takový jako kódová stránka 437, který nahradil kontrolu-charaktery s grafickými symboly takový jako smiley tváře a mapované další grafické znaky k horní 128 pozic. Operační systémy takový jak DOS podporoval tyto kód-strany a výrobcové IBM PC podporovali je v hardwaru.
Osm-kousl standardy takový jako ISO/IEC 8859 a Mac OS Říman se vyvíjel jako pravdivá rozšíření ASCII, odcházející originální charakter-mapovat neporušené a spravedlivé sčítající další hodnoty nahoře 7-kousl rozsah. Toto umožnilo reprezentaci širšího rozsahu jazyků, ale tyto standardy pokračovaly trpět incompatibilities a limitacema. Stále, ISO-8859-1, jeho Windows varianty-1252 (často mislabeled jako ISO-8859-1 dokonce Microsoft software) a originál 7-kousek ASCII zůstat nejvíce obyčejný charakter encodings v použití dnes.
Unikód a ISO/IEC 10646 univerzální znakové sady (UCS) má mnohem širší pole charakterů a jejich různé kódující formy začaly nahradit ISO/IEC 8859 a ASCII rychle v mnoha prostředích. Zatímco ASCII v podstatě používá 7-kódy kousku, unikód a UCS použití relativně oddělí “body kódu”: non-čísla záporného celého čísla ta mapa, používat různé kódující formy a schémata, k sledům jednoho nebo více 8-bajty kousku. Dovolit zpětnou kompatibilitu, unikód a UCS přiřadí prvních 128 kódových důvodů ke stejným charakterům jak ASCII. Jeden může proto myslet na ASCII jak 7-kousl schéma kódování pro velmi malou podmnožinu Unicode a UCS. Populární UTF-8 kódovat-forma předepíše použití jednoho k čtyři 8-kousl hodnoty kódu pro každý kódový bodový charakter, a vyrovná přesně k ASCII pro hodnoty kódu dole 128. Jiné kódování se tvoří takový jako UTF-16 podobat se ASCII v jak oni reprezentují prvních 128 charakterů Unicode, ale inklinovat k použití 16 nebo 32 kousků na charakter, tak oni vyžadují konverzi pro kompatibilitu.
Míchat slovo ASCIIbetical se vyvinul popisovat verifikaci dat v ASCII-objednávka kódu spíše než “standardní” abecední pořadí.[4]
Zkratka ASCIIZ nebo ASCIZ se odkazuje na nulu-skončil ASCII řetězec.
Trivia
Asteroid 3568 ASCII je pojmenoval podle kódování charakteru.