Řídicí kódy C0 a C1 - C0 and C1 control codes
Tyto C0 a C1 kontrolní kód nebo ovládací znakové sady definovat řídicí kódy pro použití v textu počítačovými systémy, které používají ASCII a deriváty ASCII. Kódy představují další informace o textu, jako je poloha kurzoru, pokyn ke spuštění nového řádku nebo zpráva, že text byl přijat.
Kódy C0 jsou v rozsahu 00 HEX –1F HEX a výchozí sada C0 byla původně definována v ISO 646 ( ASCII ). Kódy C1 jsou v rozsahu 80 HEX –9F HEX a výchozí sada C1 byla původně definována v ECMA-48 (harmonizováno později s ISO 6429). Systém ISO/IEC 2022 určující řídicí a grafické znaky umožňuje, aby byly pro specializované aplikace k dispozici další sady C0 a C1, ale používají se jen zřídka.
Ovládací prvky C0
ASCII definovalo 32 řídicích znaků, plus jeden nezbytný navíc pro znak DEL-all-1 (potřebný k vyražení všech děr na papírovém pásku a jeho vymazání).
Tento velký počet kódů byl v té době žádoucí, protože vícebajtové ovládání by vyžadovalo implementaci stavového stroje do terminálu, což bylo u současné elektroniky a mechanických terminálů velmi obtížné. Od té doby si jejich používání zachovalo jen několik původních ovládacích prvků: „prázdné“ řady BS, TAB, LF, VT, FF a CR; kód BEL; a ESC (ale kromě ISO-2022-JP , téměř vždy jako součást ESC, '[' reprezentace CSI začínající únikovou sekvenci ANSI ). Ostatní jsou nepoužití nebo získali různé významy, například NUL jako terminátor řetězce C.
Některé protokoly sériového přenosu, jako jsou ANPA-1312 , Kermit a XMODEM , hojně využívají řídicí znaky SOH, STX, ETX, EOT, ACK, NAK a SYN za účelem sbližování jejich původních definic.
Základní řídicí kódy ASCII
Toto jsou standardní řídicí kódy ASCII, původně definované v ANSI X3.4 . Pokud používáte rozšiřující mechanismus ISO/IEC 2022 , jsou označeny jako aktivní řídicí znaková sada C0 s oktetovou sekvencí 0x1B 0x21 0x40
( ESC ! @
).
Seq | Prosince | Hex | Zkratka | Symbol | název | C | Popis | ||
---|---|---|---|---|---|---|---|---|---|
^@ |
00 | 00 | NUL | ␀ | Nula |
\0
|
Původně sloužil k tomu, aby mezery zůstaly na úpravách ponechány na papírovém pásku. Později se používá pro odsazení po kódu, jehož zpracování může terminálu nějakou dobu trvat (např. Návrat vozíku nebo posun řádku na tiskovém terminálu). Nyní se často používá jako ukončovač řetězců, zejména v programovacím jazyce C. | ||
^A |
01 | 01 | SOH | ␁ | Začátek nadpisu | Při přenosu zprávy odděluje začátek záhlaví zprávy. Formát tohoto záhlaví může být definován příslušným protokolem, například IPTC 7901 pro přenos novinářského textu, a je obvykle ukončen STX. V Hadoop se často používá jako oddělovač polí. | |||
^B |
02 | 02 | STX | ␂ | Začátek textu | První znak textu zprávy a může být použit k ukončení záhlaví zprávy. | |||
^C |
03 | 03 | ETX | ␃ | Konec textu | Při přenosu zprávy odděluje konec hlavního textu zprávy. Může následovat „posttextová informace“ (tj. Strukturovaná zápatí) definovaná příslušným protokolem nebo dalšími texty, za nimiž následuje EOT. Při zadávání z klávesnice se často používá jako znak „přerušení“ (Ctrl-C) k přerušení nebo ukončení programu nebo procesu. | |||
^D |
04 | 04 | EOT | ␄ | Konec přenosu | Vymezuje konec přenášené zprávy, která může zahrnovat záhlaví, text zprávy a zápatí posttextu, nebo dokonce více textů a související nadpisy. Lze také použít k uvedení terminálů do pohotovostního režimu. V systému Unix se často používá k označení konce souboru na terminálu, interpretováno shellem jako příkaz exit nebo logout .
|
|||
^E |
05 | 05 | ENQ | ␅ | Poptávka | Signál určený ke spuštění odpovědi na přijímacím konci, aby se zjistilo, zda je stále přítomen. | |||
^F |
06 | 06 | ACK | ␆ | Potvrdit | Odpověď na ENQ nebo označení úspěšného přijetí zprávy. | |||
^G |
07 | 07 | BEL | ␇ | Bell , upozornění |
\a
|
Původně sloužil ke zvonění na terminálu. Později použito k pípnutí na systémech, které neměly žádný fyzický zvonek. Může také rychle zapnout a vypnout inverzní video (vizuální zvonek). | ||
^H |
08 | 08 | BS | ␈ | Backspace |
\b
|
Přesuňte kurzor o jednu pozici doleva. Na vstupu to může odstranit znak nalevo od kurzoru. Na výstupu, kde v rané počítačové technologii nebylo možné jednou vytištěný znak vymazat, byl někdy backspace použit ke generování znaků s diakritikou v ASCII. Může být například à vytvořeno pomocí sekvence tří znaků a BS ` (nebo pomocí hexadecimálních hodnot znaků 0x61 0x08 0x60 ). Toto použití nyní obecně není podporováno (je například zakázáno v ISO/IEC 8859 ). Aby byla zajištěna disambiguace mezi dvěma potenciálními využitími backspace, byl kontrolní kód znaku zrušení součástí standardní sady ovládacích prvků C1.
|
||
^I |
09 | 09 | HT | ␉ | Tabulace znaků, horizontální tabulka |
\t
|
Umístění na další zarážku znaku . | ||
^J |
10 | 0A | LF | ␊ | Line Feed |
\n
|
Na psacích strojích , tiskárnách a některých emulátorech terminálu přesune kurzor o jeden řádek dolů, aniž by to ovlivnilo jeho pozici ve sloupci. Na Unixu se používá k označení konce řádku . V systémech DOS , Windows a různých síťových standardech se LF používá po CR jako součást značky konce řádku. | ||
^K |
11 | 0B | VT | ␋ | Tabulková čára, vertikální tabulka |
\v
|
Umístěte formulář na další zarážku řádku. | ||
^L |
12 | 0C | FF | ␌ | Formulář |
\f
|
Na tiskárnách načtěte další stránku. V mnoha programovacích jazycích je považován za prázdný prostor a může být použit k oddělení logických divizí v kódu. V některých emulátorech terminálu vymaže obrazovku. Stále se objevuje v některých běžných souborech prostého textu jako znak konce stránky , jako jsou RFC publikované IETF . | ||
^M |
13 | 0D | ČR | ␍ | Návrat vozíku |
\r
|
Původně sloužil k přesunutí kurzoru na sloupec nula, přičemž zůstal na stejném řádku. V klasickém systému Mac OS (před Mac OS X ), stejně jako v dřívějších systémech, jako jsou Apple II a Commodore 64 , používané k označení konce řádku . V systému DOS , Windows a různých síťových standardech se používá před LF jako součást značky konce řádku. Klávesa Enter nebo Return na klávesnici odešle tento znak, ale terminálový program ho může převést na jinou sekvenci konce řádku. | ||
^N |
14 | 0E | TAK | ␎ | Shift Out | Přepněte na alternativní znakovou sadu. | |||
^O |
15 | 0F | SI | ␏ | Zařaďte | Po Shift Out se vraťte k běžné znakové sadě. | |||
^P |
16 | 10 | DLE | ␐ | Únik datového odkazu | Způsobte, že omezený počet souvisle následujících oktetů bude interpretován nějakým jiným způsobem, například jako nezpracovaná data (na rozdíl od řídicích kódů nebo grafických znaků). Podrobnosti o tom závisí na implementaci.
Standardy, jako je (nyní stažený) ECMA-37, existovaly pro specifické aplikace znaku Data Link Escape pro přístup k dalším funkcím řízení přenosu. Standardní schéma komprese pro Unicode navrhuje nahradit všechny bajty řady C0 DLE, následované tímto bajtem plus 0x40, pokud musí být data SCSU přenášena přes systém, který by byl zmaten přeměnou bytů C0 na SCSU. |
|||
^Q |
17 | 11 | DC1 | ␑ | Device Control One ( XON ) | Tyto čtyři řídicí kódy jsou vyhrazeny pro ovládání zařízení, přičemž interpretace závisí na zařízení, ke kterému byly připojeny. DC1 a DC2 byly určeny především k indikaci aktivace zařízení, zatímco DC3 a DC4 byly určeny především k indikaci pozastavení nebo vypnutí zařízení. DC1 a DC3 (v tomto použití také známé jako XON a XOFF) vznikaly jako funkce „spouštění a zastavování vzdálené čtečky papírových pásek“ v sítích ASCII Telex . Toto použití dálnopisu se stalo de facto standardem pro řízení toku softwaru . | |||
^R |
18 | 12 | DC2 | ␒ | Ovládání zařízení dva | ||||
^S |
19 | 13 | DC3 | ␓ | Ovládání zařízení tři ( XOFF ) | ||||
^T |
20 | 14 | DC4 | ␔ | Ovládání zařízení Four | ||||
^U |
21 | 15 | NAK | ␕ | Negativní potvrzení | Odesláno stanicí jako negativní odpověď na stanici, se kterou bylo navázáno spojení. V binárním synchronním komunikačním protokolu se NAK používá k označení, že v dříve přijatém bloku byla detekována chyba a že přijímač je připraven přijmout opakovaný přenos tohoto bloku. Ve vícebodových systémech se NAK používá jako nepřipravená odpověď na hlasování. | |||
^V |
22 | 16 | SYN | ␖ | Synchronní volnoběh | Používá se v synchronních přenosových systémech k poskytování signálu, ze kterého lze dosáhnout synchronní korekce mezi datovým koncovým zařízením, zvláště když není přenášen žádný jiný znak. | |||
^W |
23 | 17 | ETB | ␗ | Konec přenosového bloku | Udává konec přenosového bloku dat, když jsou data rozdělena do takových bloků pro účely přenosu.
Pokud není používán pro jiný účel, IPTC 7901 doporučuje interpretovat ETB jako znak konce odstavce. |
|||
^X |
24 | 18 | UMĚT | ␘ | zrušení | Označuje, že data, která mu předcházejí, jsou chybná nebo mají být ignorována. | |||
^Y |
25 | 19 | EM | ␙ | Konec média | Určeno jako prostředek pro indikaci na papíře nebo magnetických páskách, že bylo dosaženo konce použitelné části pásky. Může také označovat konec použité části média a nemusí nutně odpovídat fyzickému konci média.
Pokud se nepoužívá k jinému účelu, IPTC 7901 doporučuje znovu použít EM jako prostor em pro odsazení prvního řádku odstavce (viz také EMSP ). |
|||
^Z |
26 | 1A | SUB | ␚ | Náhradní | Původně měl být použit jako řídicí znak přenosu, aby indikoval, že byly přijaty zkomolené nebo neplatné znaky. Často byl využíván k jiným účelům, když je signalizace chyb v pásmu, kterou poskytuje, nepotřebná, zejména tam, kde se používají robustní metody detekce a opravy chyb , nebo kde se očekává, že chyby budou natolik vzácné, že použití znaku pro vhodné jiné účely. V DOS , Windows , CP/M a derivátech operačních systémů Digital Equipment Corporation se používá k označení konce souboru, a to jak při psaní na terminálu, tak někdy i v textových souborech uložených na disku. | |||
^[ |
27 | 1B | ESC | ␛ | Uniknout |
\e
|
Klávesa Esc na klávesnici způsobí odeslání tohoto znaku na většinu systémů. Lze jej použít v uživatelských rozhraních softwaru k opuštění obrazovky, nabídky nebo režimu nebo v protokolech pro ovládání zařízení (např. Tiskárny a terminály) k signalizaci, že následuje speciální posloupnost příkazů, nikoli normální text. V systémech založených na ISO/IEC 2022 , i když je použita jiná sada řídicích kódů C0, je tento oktet vyžadován tak, aby vždy představoval únikový znak.
|
||
^\ |
28 | 1C | FS | ␜ | Oddělovač souborů | Lze použít jako oddělovače k označení polí datových struktur. Pokud se používá pro hierarchické úrovně, USA je nejnižší úroveň (rozdělující prosté textové datové položky), zatímco RS, GS a FS mají rostoucí úroveň k rozdělení skupin tvořených položkami úrovně pod ní.
Informační formát Unixu používá k označení začátku uzlu USA, za nimiž následuje volitelný zdroj formulářů a konec řádku. MARC 21 používá USA jako oddělovač podpolí, RS jako ukončovač pole a GS jako ukončovač záznamu. Pokud v aktuálním vydání IPTC 7901 nejsou použity pro jiné účely, doporučuje se použít USA jako oddělovač sloupců v tabulkách, FS jako „centrální oddělovač polí“ v tabulkách a GS a RS pro označení následující mezery nebo spojovník-minus jako non-lámání nebo měkké , respektive (ve znakové sady nedodává explicitní nBSP a Shy znaků). Python ‚s |
|||
^] |
29 | 1D | GS | ␝ | Oddělovač skupin | ||||
^^ |
30 | 1E | RS | ␞ | Separátor záznamů | ||||
^_ |
31 | 1F | NÁS | ␟ | Oddělovač jednotek | ||||
Ačkoli nejsou tyto dva znaky technicky součástí řady řídicích znaků C0, jsou v ISO/IEC 2022 definovány jako vždy dostupné bez ohledu na to, jaké sady řídicích znaků a grafických znaků byly zaregistrovány. Lze o nich uvažovat tak, že mají určité vlastnosti kontrolních postav. | |||||||||
32 | 20 | SP | ␠ | Prostor | Prostor je grafický znak. Má vizuální znázornění spočívající v absenci grafického symbolu. Způsobí posunutí aktivní pozice o jednu pozici. V některých aplikacích lze mezeru považovat za „oddělovač slov“ nejnižší úrovně, který se má použít se sousedními oddělovacími znaky. | ||||
^? |
127 | 7F | DEL | ␡ | Vymazat | Technicky nepatří do řady ovládacích znaků C0, toto bylo původně používáno k označení odstraněných znaků na papírovém pásku, protože jakýkoli znak mohl být změněn na všechny pomocí děrování otvorů všude. Na terminálech kompatibilních s VT100 je to znak generovaný klíčem označeným ⌫, který se na moderních počítačích obvykle nazývá backspace , a neodpovídá klíči pro odstranění z počítače . |
Názvy kategorií
Několik základních řídících kódů ASCII je zařazeno do několika kategorií a někdy jim jsou přiděleny alternativní zkrácené názvy, které se skládají z této kategorie a čísla:
- Ovládací prvky přenosu: TC 1 (SOH), TC 2 (STX), TC 3 (ETX), TC 4 (EOT), TC 5 (ENQ), TC 6 (ACK), TC 7 (DLE), TC 8 (NAK) , TC 9 (SYN), TC 10 (ETB).
- Efektory formátu: FE 0 (BS), FE 1 (HT), FE 2 (LF), FE 3 (VT), FE 4 (FF), FE 5 (CR).
- Ovládání zařízení: DC 1 , DC 2 , DC 3 , DC 4 .
- Oddělovače informací: IS 1 (USA), IS 2 (RS), IS 3 (GS), IS 4 (FS).
- Blokovací směny: LS 0 (SI), LS 1 (SO).
- Ostatní: NUL, BEL, CAN, EM, SUB, ESC.
ISO/IEC 2022 (ECMA-35) označuje zámky C0 jako LS0 a LS1 v 8bitových prostředích a jako SI a SO v 7bitových prostředích.
První vydání ASCII z roku 1963 klasifikovalo DLE jako ovládání zařízení, nikoli jako řízení přenosu, a dalo mu zkratku DC0 („ovládání zařízení vyhrazené pro únik datového spojení“).
Kódy formátového efektoru (FE) definují a aktivují formátování (například konce řádků ), které ovlivňuje způsob rozvržení a vykreslení grafických znaků, na rozdíl od ovládání jiných funkcí hardwarových zařízení nebo jiných vedlejších účinků. Efektory formátu C0 jsou povoleny v sekvencích ISO/IEC 6429 DCS , OSC , PM a APC . Oddělovače informací a efektory formátu C0 (minus BS ) jsou jediné řídicí kódy C0 se sémantikou definovanou standardem Unicode, přičemž interpretace zbývajících ovládacích prvků C0 je ponechána na protokolech vyšší úrovně.
ISO/IEC 2022 (ECMA-35) vyžaduje, aby pokud sady řídicích kódů C0 zahrnovaly deset kódů řízení přenosu ASCII (TC), musí být zakódovány na jejich místech ASCII. Rovněž zakazuje, aby těchto deset ovládacích prvků přenosu bylo zahrnuto do sady řídicích kódů C1, a zakazuje zahrnutí ovládacích prvků přenosu kromě těchto deseti do sady řízení C0.
Upravené sady řídicích kódů C0
Ačkoli sady řídicích kódů C0 obvykle zachovávají beze změny většinu řídicích kódů ASCII, je zaregistrováno číslo, které nahrazuje určité řídicí funkce alternativami. Jejich výběr, s výjimkou těch , které souvisejí s Videotexem , je uveden níže.
Seq | Prosince | Hex | Vyměněno | V sadách kódů | Zkratka | název | Popis |
---|---|---|---|---|---|---|---|
^I |
09 | 09 | HT | NATS, IPTC | FO | Formátování | Používá se v tabulkových datech k přesunu na další tabulkovou pozici (v tomto ohledu zachovává sémantiku „Tab“) a ve standardních formátech k označení další fáze. Aktuální specifikace IPTC místo toho doporučuje používat běžné ovládací prvky ASCII C0 a používat ovládací prvek USA jako konec sloupce v tabulkách. |
^K |
11 | 0B | VT | NATS, IPTC | ECD | Konec instrukce | Vymezuje konec typografického pokynu určeného pro sázecí zařízení. |
^L |
12 | 0C | FF | NATS, IPTC | SCD | Začátek instrukce | Vymezuje začátek typografického pokynu určeného pro sázecí zařízení. |
^M |
13 | 0D | ČR | NATS, IPTC | QL | Čtyřlístek vlevo | Ukončí řádek, což znamená, že by měl být zarovnán doleva. Aktuální specifikace IPTC místo toho doporučuje používat běžné ovládací prvky ASCII C0 a reprezentovat tuto funkci se < CR LF sekvencí.
|
^N |
14 | 0E | TAK | NATS | UR | Horní kolejnice | Spustí zvýrazněnou oblast textu. Používá se ve skandinávském novinářském přenosu textu od roku 1975; Doporučení IPTC od roku 1976 používaly místo toho FT2 a FT3 (viz níže). Aktuální specifikace IPTC místo toho doporučuje používat běžné ovládací prvky ASCII C0 a označit tuto funkci ^ znakem.
|
^O |
15 | 0F | SI | NATS | LR | Dolní kolejnice | Ukončí zvýrazněnou oblast textu. Používá se ve skandinávském novinářském přenosu textu od roku 1975; Doporučení IPTC od roku 1976 používaly místo toho FT1 (viz níže). Aktuální specifikace IPTC místo toho doporučuje používat běžné ovládací prvky ASCII C0 a označit tuto funkci @ znakem.
|
^Q |
17 | 11 | DC1 | IPTC | FT1 | Písmo jedna | Přepíná na běžné písmo, tj. Zakazuje tučné písmo nebo kurzívu. |
^R |
18 | 12 | DC2 | IPTC | FT2 | Písmo dva | Přepne na kurzívu. |
^S |
19 | 13 | DC3 | IPTC | FT3 | Písmo tři | Přepne na tučné písmo. |
^X |
24 | 18 | UMĚT | NATS, IPTC | KW | Zabij Word | Odstraní předchozí slovo (odstraní zpět na poslední mezeru a včetně, nebo zpět na předchozí konec řádku a bez něj, podle toho, na které narazí dříve). V tomto ohledu zachovává sémantiku „Zrušit“, ale má konkrétnější funkci. |
^Y |
25 | 19 | EM | T.61 / T.51 , samostatně | SS2 | Single Shift Two | Neuzamykatelný řadicí kód pro G2 ; reprezentace C0 umožňující její zastoupení jedním bajtem v 7bitovém prostředí. |
^\
|
28 | 1C | FS | NATS, IPTC, samostatně | SS, SS2 | Super Shift nebo Single Shift Two | Nezamykatelný kód řazení . |
JIS C 6225 | CEX | Rozšíření ovládání | Zavádí kontrolní sekvenci podle nyní staženého JIS C 6225, označeného JIS X 0207 v pozdějších zdrojích. Patřily sem sekvence pro ovládání chování svislého textu, horních a dolních indexů a pro přenos grafiky vlastních znaků . | ||||
^]
|
29 | 1D | GS | NATS, IPTC | QC | Quad Center | Ukončí řádek, což znamená, že by měl být vycentrován. |
T.61 / T.51 | SS3 | Single Shift tři | Non-lock shift shift code for G3 ; reprezentace C0 umožňující její zastoupení jedním bajtem v 7bitovém prostředí. | ||||
^^ |
30 | 1E | RS | NATS, IPTC | QR | Quad Right | Ukončí řádek, což znamená, že by měl být zarovnán vpravo. |
^_ |
31 | 1F | NÁS | NATS, IPTC | JY | Zdůvodnit | Ukončí řádek, který má být odůvodněn. |
Další sady řídicích kódů C0
Teletext definuje zcela odlišnou sadu řídicích kódů . Ve formátech, kde není vyžadována kompatibilita s řídicími kódy C0 ECMA-48, jsou tyto řídicí kódy někdy transparentně mapovány do rozsahu řídicích kódů Unicode C0 (U+0000 až U+001F).
Ovládání C1
Souběžně s vývojem vydání ISO 646 z roku 1972 , který revidoval normu, aby kromě ASCII pocházejícího z USA zavedl také koncept národních verzí kódu, probíhala také práce s cílem definovat mechanismy rozšíření pro ASCII, použitelné pro 7bitová i 8bitová prostředí, která budou publikována jako ECMA-35 a ISO 2022 .
Tyto mechanismy byly navrženy tak, aby jakýkoli vyhovující 8bitový kód mohl být převeden na odpovídající 7bitový kód a naopak . V 7-bitovém prostředí, Shift Out ( SO ) kontrola by změnilo význam 94 bajtů 0x21
přes 0x7E
(tedy grafické kódy, s výjimkou prostoru), aby se dovolávají znaky z alternativního souboru a posun ( SI kontrola) by změnit je zpět. V 8bitovém prostředí byl namísto použití směrových kódů osmý bit nastaven na bajt odkazující na další grafickou znakovou sadu. To znamenalo, že bajty 0xA1
přes 0xFE
byly použity pro další grafické znaky. Řídicí znaky C0, které nejsou ovlivněny stavem posunu 7bitového kódu, měly být vždy reprezentovány v 8bitovém kódu s neaktivovaným osmým bitem. Následně jinak nepoužité bajty v rozsahu 0x80
přes 0x9F
by mohly být použity pro další řídicí kódy, které by místo toho byly reprezentovány jako 0x1B 0x40
skrz 0x1B 0x5F
( ESC @
skrz ESC _
) v 7bitovém kódu. Tyto dodatečné řídicí kódy se nazývají kontrolní kódy C1 . Pro zachování kompatibility s 7-bitovou reprezentaci, chování bytů 0xA0
a 0xFF
byl původně nedefinovaný.
První sada kontrolních kódů C1, která byla registrována pro použití podle ISO 2022, byla DIN 31626 , specializovaná sada pro bibliografické použití, která byla zaregistrována v roce 1979. Sada ISO/IEC 6429 pro všeobecné použití byla zaregistrována v roce 1983, přestože specifikace ECMA-48 na kterém byl založen, byl poprvé publikován v roce 1976.
Další vydání norem do určité míry změnila ustanovení. Například další revize ECMA-35 a ISO 2022 v roce 1985 zavedla koncept 96kódové grafické znakové sady. V 8-bitový kód, toto dovolilo celý rozsah od 0xA0
do 0xFF
které mají být použity pro grafické znaky. Použití 96kódových sad také znamenalo, že se význam bytů 0x20
a 0x7F
v odpovídajícím 7bitovém kódu mohl lišit od „mezerník“ a „smazat“, pokud nebyl kód ve stavu Shift In. Použití sad 96 kódů pro sadu G0 (Shift In) nebylo možné.
V souladu s touto revidovanou 8bitovou strukturou kódu ISO 2022 definuje ISO 8859 sady znaků, které mají být kódovány přes 0xA0 – FF, v kombinaci s grafickými znaky ASCII nad 0x20–7E, a vyhrazuje bajty mimo tyto rozsahy pro použití jako negrafické kódy podle jiných specifikací, jako je ISO 6429. Unicode dědí svých prvních 256 kódových bodů z ISO 8859-1, a proto také zahrnuje rozsah vyhrazený pro sadu řídících kódů C1, i když většinou nechává jejich funkci definovat vyšší úroveň protokoly, s ISO/IEC 6429 navrženou jako výchozí.
Kontrolní kódy C1 pro obecné použití
Jedná se o nejběžnější rozšířené řídicí kódy a jsou definovány v ISO/IEC 6429 , ECMA -48 a JIS X 0211 (dříve JIS C 6323). Pokud používáte rozšiřující mechanismus ISO/IEC 2022 , jsou označeny jako aktivní řídicí znaková sada C1 se sekvencí 0x1B 0x22 0x43
( ESC " C
). Ačkoli Unicode nevyžaduje konkrétní sadu řídicích kódů C1, takže jejich interpretaci mají specifikovat protokoly vyšší úrovně a specifikuje pouze chování pro U+0085, navrhuje interpretovat řídicí kódy C1 podle ISO/IEC 6429 v nepřítomnosti použití pro jiné účely. V níže uvedené tabulce jsou také uvedeny tři řídicí kódy uvedené vedle kódů ISO/IEC 6429 v RFC 1345 , ale ve skutečnosti nejsou definovány normou ISO/IEC 6429 ( PAD , HOP a SGC ).
Kromě SS2 a SS3 v textu EUC-JP a NEL v textu překódovaném z EBCDIC se 8bitové formy těchto kódů téměř nepoužívají. CSI , DCS a OSC se používají k ovládání textových terminálů a emulátorů terminálů , ale téměř vždy pomocí jejich 7bitových reprezentací únikového kódu. Jejich jednobajtové reprezentace kompatibilní s ISO/IEC 2022 jsou v UTF-8 neplatné a kódování UTF-8 jejich odpovídajících kódových bodů jsou dva bajty dlouhé jako jejich tvary únikového kódu (například CSI na U+009B je zakódováno jako bajty 0xC2, 0x9B v UTF-8), takže není výhodné je používat, než ekvivalentní dvoubajtová úniková sekvence. Když se tyto kódy objeví v moderních dokumentech, webových stránkách, e-mailových zprávách atd., Jsou obvykle určeny k tisku znaků na dané pozici v patentovaném kódování, jako je Windows-1252 nebo Mac OS Roman, které pomocí kódů C1 poskytují další grafické znaky.
Oficiální anglické názvy některých kódů C1 byly v posledním vydání normy pro kontrolní kódy obecně (ISO 6429: 1992 nebo ECMA-48: 1991) zrevidovány, aby byly neutrální, pokud jde o grafické znaky, které jsou s nimi použity, a nepředpokládat, že stejně jako v latinském písmu jsou řádky psány na stránce shora dolů a že znaky jsou psány na řádku zleva doprava. Použité zkratky nebyly změněny, protože norma již stanovila, že zůstanou nezměněny, pokud bude norma přeložena do jiných jazyků. Pokud byl název změněn, je v níže uvedených tabulkách uveden v závorce také původní název, ze kterého byla zkratka odvozena.
Esc+ | Prosince | Hex | Acro | název | Popis |
---|---|---|---|---|---|
@ | 128 | 80 | PODLOŽKA | Polstrování znaku | Není součástí ISO/IEC 6429 (ECMA-48). V raných návrzích ISO 10646 byl použit jako součást navrhovaného mechanismu pro kódování znaků, které nejsou ASCII. Toto použití bylo v pozdějších konceptech odstraněno. Je však používán interní dvoubajtovou formou s pevnou délkou interního použití rozšířeného unixového kódu založeného na ISO-2022 (EUC) pro jednobajtové znaky s levým polstrováním v sadách kódů 1 a 3, zatímco NUL má stejnou funkci pro kód nastaví 0 a 2. To se neprovádí v obvyklém „zabaleném“ formátu EUC. |
A | 129 | 81 | POSKOK | Přednastavení vysokého oktetu | Není součástí ISO/IEC 6429 (ECMA-48). V počátečních návrzích ISO 10646 byl určen jako prostředek k zavedení sekvence vícebajtových znaků vyhovujících ISO 2022 se stejným prvním bajtem bez opakování uvedeného prvního bajtu, čímž se zmenší délka; toto chování nikdy nebylo součástí standardní nebo publikované implementace. Jeho název byl nicméně zachován jako standardní název kódového bodu RFC 1345 . |
B | 130 | 82 | BPH | Přestávka povolena zde | Následuje grafický znak, kde je povoleno zalomení řádku. Zhruba ekvivalentní měkké pomlčce kromě toho, že prostředky pro indikaci zalomení řádku nemusí být nutně spojovník. Není součástí prvního vydání ISO/IEC 6429. Viz také prostor s nulovou šířkou . |
C | 131 | 83 | NBH | Tady žádná přestávka | Sleduje grafický znak, který nemá být porušen. Není součástí prvního vydání ISO/IEC 6429. Viz také slovo truhlář . |
D | 132 | 84 | IND | Index | Přesuňte aktivní pozici o řádek níže, abyste odstranili nejasnosti ohledně významu LF. Zastaralé v roce 1988 a stažené v roce 1992 z ISO/IEC 6429 (1986, respektive 1991 pro ECMA-48). |
E | 133 | 85 | NEL | Další řádek | Ekvivalent CR+LF. Používá se k označení konce řádku u některých sálových počítačů IBM. |
F | 134 | 86 | SSA | Začátek vybrané oblasti | Používá se blokově orientovanými terminály . |
G | 135 | 87 | ESA | Konec vybrané oblasti | |
H | 136 | 88 | HTS | Sada tabulek znaků Sada horizontálních tabulek |
Způsobí, že v aktivní poloze bude nastavena zarážka tabelátoru znaků. |
Já | 137 | 89 | HTJ | Tabulace znaků s odůvodněním Horizontální tabulka s odůvodněním |
Podobně jako u tabulek znaků, kromě toho, že místo mezer nebo řádků umístěných za předchozími znaky, dokud není dosaženo další zarážky tabulátoru, jsou mezery nebo řádky umístěny před aktivní pole, takže předchozí grafický znak je umístěn těsně před další zarážku tabulátoru. |
J. | 138 | 8A | VTS | Sada řádkových tabulek Sada svislých tabulek |
Způsobí, že v aktivní poloze bude nastavena zarážka tabelátoru. |
K | 139 | 8B | PLD | Částečný řádek vpřed Částečný řádek dolů |
Používá se k vytváření dolních a horních indexů v ISO/IEC 6429 , např. V tiskárně. Předpisy používají, zatímco používají horní indexy . PLD text PLU PLU text PLD |
L | 140 | 8C | PLU | Částečný řádek zpět Částečný řádek nahoru |
|
M | 141 | 8D | RI | Reverzní podavač Reverzní index |
|
N. | 142 | 8E | SS2 | Jednosměnný 2 | Další znak vyvolá grafický znak z grafických sad G2 nebo G3. V systémech, které vyhovují ISO/IEC 4873 (ECMA-43), i když je použita jiná C1 sada než výchozí, lze tyto dva oktety použít pouze k tomuto účelu. |
Ó | 143 | 8F | SS3 | Jednosměnný 3 | |
P | 144 | 90 | DCS | Řetězec ovládání zařízení | Následuje řetězec tisknutelných znaků (0x20 až 0x7E) a formátovacích efektorů (0x08 až 0x0D), ukončeno ST (0x9C). Toho mohou využít řídicí sekvence s proměnnou délkou pro textové terminály a emulátory terminálů, jako jsou dotazy terminfo . |
Otázka | 145 | 91 | PU1 | Soukromé použití 1 | Vyhrazeno pro funkci bez standardizovaného významu pro soukromé použití podle potřeby, s předchozím souhlasem odesílatele a příjemce dat. |
R. | 146 | 92 | PU2 | Soukromé použití 2 | |
S | 147 | 93 | STS | Nastavte stav přenosu | |
T | 148 | 94 | CCH | Zrušit znak | Destruktivní backspace, jehož cílem je odstranit nejasnosti ohledně významu BS . |
U | 149 | 95 | MW | Čekání na zprávu | |
PROTI | 150 | 96 | LÁZNĚ | Začátek chráněné oblasti | Používá se blokově orientovanými terminály . |
W | 151 | 97 | EPA | Konec chráněné oblasti | |
X | 152 | 98 | SOS | Začátek řetězce | Následuje kontrolní řetězec ukončený ST (0x9C), který na rozdíl od řetězců iniciovaných DCS , OSC , PM nebo APC může obsahovat jakýkoli znak kromě SOS nebo ST. Není součástí prvního vydání ISO/IEC 6429.
MARC 21 používá SOS a ST v záznamech formátu Unicode k označení řetězce, který by měl být pro účely řazení ignorován, zatímco záznamy ve formátu MARC-8 používají pro stejný účel NSB a NSE . |
Y | 153 | 99 | SGC | Představitel jedné grafické postavy | Není součástí ISO/IEC 6429. V raných návrzích ISO 10646 byl použit ke kódování jednoho vícebajtového znaku bez přepnutí z režimu HOP . V pozdějších návrzích bylo toto zařízení odstraněno, název byl nicméně zachován jako standardní název kódového bodu RFC 1345 . |
Z | 154 | 9A | SCI | Představitel jednoho znaku | Následovat bude jeden tisknutelný znak (0x20 až 0x7E) nebo formátový efektor (0x08 až 0x0D). Záměrem bylo poskytnout prostředky, kterými by bylo možné definovat řídicí funkci nebo grafický znak, který by byl k dispozici bez ohledu na to, které grafické nebo řídicí sady byly používány. Definice toho, co by následující byte vyvolal, nebyly nikdy implementovány v mezinárodním standardu. Není součástí prvního vydání ISO/IEC 6429. |
[ | 155 | 9B | CSI | Zavaděč řídicí sekvence | Používá se k zavedení řídicích sekvencí, které přebírají parametry. |
\ | 156 | 9C | SVATÝ | Smyčcový terminátor | Ukončí řídicí řetězec s proměnnou délkou iniciovaný DCS , SOS , OSC , PM nebo APC . |
] | 157 | 9D | OSC | Příkaz operačního systému | Následuje řetězec tisknutelných znaků (0x20 až 0x7E) a formátovacích efektorů (0x08 až 0x0D), ukončeno ST (0x9C). Tyto tři řídicí kódy byly určeny k použití pro umožnění signalizace informací o protokolu v pásmu, ale k tomuto účelu se používají jen zřídka.
Některé emulátory terminálu , včetně xterm , podporují sekvence OSC pro nastavení názvu okna a rekonfiguraci dostupné palety barev. Mohou také podporovat ukončení sekvence OSC s BEL jako nestandardní alternativou ke standardnímu ST. APC se někdy používá k přenosu příkazů Kermit , i když to může být z bezpečnostních důvodů deaktivováno nebo filtrováno. |
^ | 158 | 9E | ODPOLEDNE | Zpráva o ochraně osobních údajů | |
_ | 159 | 9F | APC | Příkaz aplikačního programu |
Kontrolní kódy C1 pro bibliografické použití
Následující alternativní sada řídicích kódů C1 je definována pro bibliografické aplikace, jako jsou knihovní systémy . Většinou se zabývá kompletováním řetězců a značením bibliografických polí. Mírně odlišné varianty jsou definovány v německé normě DIN 31626 (publikované v roce 1978 a od té doby zrušené) a ISO normě ISO 6630 , která byla v Německu také přijata jako DIN ISO 6630 . Kde se tyto rozdíly liší, je uvedeno v níže uvedené tabulce. MARC-8 používá kódování NSB a NSE z této sady a přidává některé další formátové efektory v místech, která verze ISO nepoužívá; MARC 21 však používá tuto sadu ovládacích prvků pouze v záznamech MARC-8, nikoli v záznamech ve formátu Unicode.
Pokud používáte rozšiřující mechanismus ISO / IEC 2022 , je sada DIN 31626 označena jako aktivní znaková sada C1 se sekvencí 0x1B 0x22 0x45
( ESC " E
) a sada ISO 6630 / DIN ISO 6630 je označena sekvencí 0x1B 0x22 0x42
( ESC " B
). Rozšíření sady ISO 6630 v roce 1985 lze také výslovně určit pomocí sekvence 0x1B 0x26 0x40 0x1B 0x22 0x42
( ESC & @ ESC " B
).
Esc+ | Prosince | Hex | Acro | název | Popis |
---|---|---|---|---|---|
@…F | 128… 134 | 80… 86 | - | (Rezervováno) | |
G | 135 | 87 | CUS | Detail pro třídění | (DIN 31626, ISO 6630) Prohlašuje, že dvě po sobě jdoucí znakové sekvence oddělené mezerou nebo oddělovačem by měly být pro účely řazení považovány za jedno slovo. |
H | 136 | 88 | NSB | Začínají netřídící znaky | (DIN 31626, ISO 6630, MARC 21) Označuje začátek sekvence znaků, které mají být pro účely řazení ignorovány. MARC 21 používá tento znak v záznamech MARC-8 , ale používá 0x98 ( SOS ) v záznamech Unicode ke stejnému účelu. |
Já | 137 | 89 | NSE | Končí netřídící znaky | (DIN 31626, ISO 6630, MARC 21) Označuje konec sekvence znaků, které mají být pro účely řazení ignorovány. MARC 21 používá tento znak v záznamech MARC-8, ale používá 0x9C ( ST ) v záznamech Unicode ke stejnému účelu. |
J. | 138 | 8A | FIL | Vyplňující postava | (DIN 31626) Nahrazuje povinný alfanumerický znak v poli. |
K | 139 | 8B | TCI | Značka v kontextovém indikátoru | (DIN 31626) V bibliografickém poli slouží k označení údajů v jiném bibliografickém poli podle čísla značky. |
PLD | Částečná čára dolů | (ISO 6630) Není v původním vydání ISO 6630. Ve vydání ISO 6630 z roku 1985, používané pro částečnou linii dolů (viz PLD výše). | |||
L | 140 | 8C | ICI | Identifikační číslo v kontextovém indikátoru | (DIN 31626) V bibliografickém poli slouží k označení údajů v jiném bibliografickém záznamu podle jeho ID čísla. |
PLU | Částečná sestava | (ISO 6630) Není v původním vydání ISO 6630. Ve vydání ISO 6630 z roku 1985, používané pro částečnou sestavu (viz PLU výše). | |||
M | 141 | 8D | OSC | Volitelné řízení slabiky | (DIN 31626) Označuje hranici slabiky v dlouhém slově. Viz také měkká spojovník . |
ZWJ | Truhlář | (MARC 21) V MARC-8, který se používá pro truhlářství s nulovou šířkou , zatímco U+200D se používá v záznamech MARC ve formátu Unicode. | |||
N. | 142 | 8E | SS2 | Jednosměnný 2 | (DIN 31626) Nezamykatelný kód řazení, viz SS2 výše. |
ZWNJ | Bez truhláře | (MARC 21) V MARC-8, který se používá pro spojování s nulovou šířkou , zatímco U+200C se používá v záznamech MARC ve formátu Unicode. | |||
Ó | 143 | 8F | SS3 | Jednosměnný 3 | (DIN 31626) Nezamykatelný kód řazení, viz SS3 výše. |
P | 144 | 90 | - | (Rezervováno) | |
Otázka | 145 | 91 | EAB | Vložená anotace začíná | (DIN 31626, ISO 6630) Označuje začátek anotace s proměnnou délkou, která je vložena do bibliografického pole, na rozdíl od oddělení pomocí označení obsahu. |
R. | 146 | 92 | EAE | Konec vložené anotace | (DIN 31626, ISO 6630) Označuje konec vložené anotace s proměnnou délkou. |
S | 147 | 93 | ISB | Specifikace položky Začátek | (DIN 31626) Označuje začátek řetězce konkrétních informací nějakého popisu, jiného než klíčové slovo nebo permutační řetězec. |
T | 148 | 94 | ISE | Položka Specifikace Konec | (DIN 31626) Označuje konec řetězce konkrétních informací. |
U | 149 | 95 | SIB | Začátek třídění interpolace | (ISO 6630) Označuje začátek sekvence znaků používaných pouze pro účely řazení. |
PROTI | 150 | 96 | SIE | Konec třídění interpolace | (ISO 6630) Označuje konec sekvence znaků používaných pouze pro účely řazení. |
W | 151 | 97 | SSB | Začátek sekundární třídící hodnoty | (ISO 6630) Označuje začátek řetězce s hodnotou podřízeného řazení. |
X | 152 | 98 | SSE | Konec hodnoty sekundárního třídění | (ISO 6630) Označí konec řetězce hodnotou podřízeného řazení. |
Y | 153 | 99 | INC | Indikátor nestandardního znaku | (DIN 31626) Označuje následující nestandardní znak. |
Z | 154 | 9A | - | (Rezervováno) | |
[ | 155 | 9B | - | (Rezervováno) | |
\ | 156 | 9C | KWB | Klíčové slovo Začátek | (DIN 31626, ISO 6630) Označuje začátek klíčového slova v bibliografickém poli. |
] | 157 | 9D | KWE | Konec klíčového slova | (DIN 31626, ISO 6630) Označuje konec klíčového slova v bibliografickém poli. |
^ | 158 | 9E | PSB | Permutační řetězec začíná | (DIN 31626, ISO 6630) Označuje začátek řetězce, který má být permutován na přední část prvku při generování referencí nebo indexů . Ukončeno PSE nebo koncem prvku. |
_ | 159 | 9F | PSE | Konec řetězce permutace | (DIN 31626, ISO 6630) Označuje konec řetězce, který má být permutován na přední část prvku. |
Další sady ovládacích kódů C1
EBCDIC definuje 16 dalších řídicích kódů, kromě těch, které jsou obsaženy v ASCII. Při mapování na Unicode nebo ISO 8859 jsou tyto kódy mapovány na řídicí znaky C1 způsobem určeným architekturou IBM Character Data Representation Architecture (CDRA).
Ačkoli výchozí mapování ovládacího prvku Nový řádek (NL) odpovídá ISO/IEC 6429 NEL (0x85; ačkoli jeho mapování je někdy zaměněno s LF, podle koncové koncové řádky UNIX), zbývající část řídicích kódů neodpovídá ISO/IEC 6429. Například řídicí jednotka EBCDIC SPS (0x09, mapováno na 0x8D) a řídicí PLU ECMA-48 (0x8C) se používají k zahájení horního indexu nebo ukončení dolního indexu, ale nejsou navzájem mapovány. EBCDIC s mapovaným rozšířeným ASCII lze tedy považovat za vlastní sadu C1, přestože není registrován v registru ISO-IR pro použití s ISO/IEC 2022 .
Různé specializované sady řídicích kódů C1 jsou registrovány pro použití v různých formátech Videotexu .
Unicode
Unicode vyčleňuje 65 kódových bodů v obecné kategorii „Cc“ (ovládání) pro kompatibilitu s ISO/IEC 2022 . Řídicí kódy v této kategorii pokrývají U+0000 — U+001F (ovládací prvky C0), U+007F (odstranění) a U+0080 — U+009F (ovládací prvky C1). Unicode specifikuje sémantiku pouze pro U+0009 — U+000D, U+001C — U+001F a U+0085. Zbytek řídicích kódů je pro Unicode transparentní a jejich význam je ponechán protokolům vyšší úrovně.
Unicode nemá přiděleny jiné než C0 a C1 kódové body kategorie „Cc“. Obsahuje však další efektorové znaky formátu kromě znaků v kontrolních sadách C0 a C1, jako jsou značky, vložení, izoláty a vyskakovací okna pro explicitní obousměrné formátování, a spojovací prvek s nulovou šířkou a nespojovací prvek pro ovládání použití ligatury. Ty dostávají spíše obecnou kategorii „Cf“ (formát) než „Cc“.
Viz také
Poznámky pod čarou
Reference
- Standard Unicode
- Ovládací prvky C0 a základní latina
- Ovládací prvky C1 a dodatek Latin-1
- Ovládání obrázků
- Standard Unicode, verze 6.1.0, kapitola 16: Speciální oblasti a formátování znaků
- Glosář ATIS Telecom 2007
- De litteris regentibus C1 quaestiones septem nebo Jsou znaky C1 v XHTML 1.0 legální?
- W3C I18N Časté dotazy: HTML, XHTML, XML a kontrolní kódy
- Mezinárodní registr kódovaných znakových sad, které mají být použity s únikovými sekvencemi