Náhradní postava - Substitute character

Náhradní znak (␚) je řídicí znak , který se používá pro zapisování prázdné znaky v případě, že mají být zaslány v blocích pevnou velikostí, a stát na místě znaku, který je uznáván jako neplatná nebo nesprávná či nezastupitelného na daném zařízení. V některých programovacích jazycích se také používá jako úniková sekvence .

Ve znakové sadě ASCII je tento znak kódován číslem 26 ( 1A hex ). Standardní klávesnice přenášet tento kód, když Ctrla Zjsou kláves najednou ( Ctrl + Z podle konvence často popisován jako ^ Z ). Unicode kóduje tento znak, ale doporučuje místo toho použít k reprezentaci dekódovatelných vstupů náhradní znak ( , U+FFFD), pokud je s ním výstupní kódování kompatibilní.

Využití

Konec souboru

Historicky bylo pod monitorem PDP-6 , RT-11 , VMS a TOPS-10 a v počátečních operačních systémech PC CP/M 1 a 2 (a deriváty jako MP/M ) nutné explicitně označit konec souboru (EOF), protože souborový systém CP/M nemohl sám zaznamenat přesnou velikost souboru; soubory byly přidělovány v rozsahu (záznamech) pevné velikosti, obvykle na konci každého souboru nechávalo nějaké přidělené, ale nevyužité místo. Toto místo navíc bylo vyplněno 1A 16 ( hex ) znaky pod CP/M. Rozšířené souborové systémy CP/M používané CP/M 3 a vyšší (a deriváty jako Concurrent CP/M , Concurrent DOS a DOS Plus ) podporovaly soubory typu byte-granular, takže to již nebylo požadavkem, ale zůstalo jako konvence (zejména pro textové soubory ), aby byla zajištěna zpětná kompatibilita.

V CP/M , 86-DOS , MS-DOS , PC DOS , DR-DOS a jejich různých derivátech byl znak SUB také použit k označení konce toku znaků, a tím použit k ukončení vstupu uživatele v interaktivním okno příkazového řádku (a jako takové se často používá k dokončení přesměrování vstupu konzoly, např. na základě podnětu COPY CON: TYPEDTXT.TXT).

Přestože již není technicky nutné označovat konec souboru, mnoho textových editorů a jazyků programu stále podporuje tuto konvenci, nebo může být nakonfigurováno tak, aby při úpravách vkládalo tento znak na konec souboru, nebo se s nimi alespoň správně vyrovnalo v textu soubory. V takových případech se často nazývá „měkký“ EOF, protože nemusí nutně představovat fyzický konec souboru, ale je spíše ukazatelem, který naznačuje, že „za tímto bodem nejsou žádná užitečná data“. Ve skutečnosti může za tímto znakem existovat více dat až do skutečného konce dat v systému souborů, takže jej lze použít ke skrytí obsahu souboru, když je soubor zadán na konzole nebo otevřen v editorech. Mnoho standardů formátů souborů (např. PNG nebo GIF ) obsahuje ve svých hlavičkách znak SUB, aby vykonával přesně tuto funkci. Některé moderní formáty textových souborů (např. CSV-1203 ) stále doporučují jako poslední znak v souboru připojit koncový znak EOF. Psaní Control+ Zvšak nevloží znak EOF do souboru v systému DOS ani Windows , ani rozhraní API těchto systémů tento znak nepoužívá k označení skutečného konce souboru.

Některé programovací jazyky (např. Visual Basic ) při použití vestavěných primitiv pro čtení textových souborů (INPUT, LINE INPUT atd.) Nebudou číst „měkký“ EOF a musí být použity alternativní metody, např. Otevření souboru v binárním režimu nebo pomocí objektu systému souborů k postupu za ním.

Znak 26 byl použit k označení „Konec souboru“, přestože ASCII nazývá tento znak Náhradník, a má další znaky pro označení „Konec souboru“. Pro podobné účely bylo také použito číslo 28, kterému se říká „ Oddělovač souborů “.

Jiné použití

V operačních systémech Unix se tento znak obvykle používá k pozastavení aktuálně provádějícího interaktivního procesu. Pozastavený proces lze poté obnovit v režimu popředí (interaktivní), nebo jej obnovit tak, aby pokračoval v provádění v režimu na pozadí , nebo jej lze ukončit . Když je uživatel zadán na svém počítačovém terminálu , aktuálně běžícímu procesu v popředí je odeslán signál „terminální stop“ ( SIGTSTP ), který obecně způsobí, že proces pozastaví jeho provádění. Uživatel může později pokračovat v provádění procesu pomocí příkazu „popředí“ ( fg) nebo příkazu „ pozadí “ ( bg).

Zpráva Aspekty zabezpečení Unicode doporučuje tento znak jako bezpečnou náhradu nemapovatelných znaků během převodu znakové sady.

V mnoha GUI a aplikacích lze pro zrušení poslední akce použít Control+ Z( ⌘ Command+ Zna Mac OS) . V mnoha aplikacích lze dřívější akce než ta poslední vrátit také několikrát stisknutím + . + byla jednou z mála klávesových sekvencí, které si designéři programu v Xerox PARC vybrali k ovládání úprav textu . ControlZControlZ

Reprezentace

ASCII a Unicode reprezentace „náhrady“:

  • Osmičkový kód: 32
  • Desetinný kód: 26
  • Šestnáctkový kód: 1A, U+001A
  • Mnemotechnický symbol: SUB
  • Binární hodnota: 11010

Viz také

Reference

Další čtení