Szerkesztő:Boda Sandra

A Wikipédiából, a szabad enciklopédiából

Feloldójel (informatika)[szerkesztés]

Ellenőrzött lap[szerkesztés]

A Wikipédiából, a szabad enciklopédiából

A feloldójel (angolul escape character), más néven védőkarakter a számítástudományban és a távközlésben olyan karakter, amely egy karakterláncban azt jelöli, hogy a következő karaktert másképpen kell értelmezni, mint általános esetben.

A feloldó szekvencia, más néven vezérlősorozat (escape sequence) együtt jelöli a feloldójelet és a módosított értelmezésű karaktert.

Meghatározás

Lehet, hogy egy menekülési karakternek nincs saját jelentése, ezért minden menekülési sorozat két vagy több karakterből áll.

A menekülési karakterek számos programozási nyelv, adatformátum és kommunikációs protokoll szintaxisának részét képezik. Egy adott ábécé esetében egy menekülési karakter célja karaktersorozatok (ún. Menekülési szekvenciák) elindítása, amelyeket másként kell értelmezni, mint ugyanazokat a karaktereket, amelyek az előtagolt menekülési karakter nélkül fordulnak elő.

A menekülési szekvenciák funkciói a következők:

  • Szintaktikai entitás, például eszközparancsok vagy speciális adatok kódolása, amelyeket az ábécé nem képes közvetlenül megjeleníteni.
  • Olyan karaktereket ábrázol, amelyeket karakter-idézésnek neveznek, és amelyek a jelenlegi helyzetben nem írhatók be, vagy nem kívánt értelmezéssel bírnának. Ebben az esetben a menekülési szekvencia egy vázlat, amely magában a menekülési karakterből és egy "idézett" karakterből áll.

Vezérlő karakter

A menekülési karakter általában nem az (eszköz) vezérlő karakterek egyedi esete, és fordítva sem. Ha a vezérlő karaktereket nem grafikusként vagy speciális jelentéssel bírunk a kimeneti eszköz (például nyomtató vagy szöveges terminál) szempontjából, akkor ennek az eszköznek minden menekülési karaktere vezérlő karakter. De a programozásban használt menekülési karakterek (például a visszavonás, "\") grafikusak, tehát nem vezérlő karakterek. Ezzel ellentétben az ASCII "vezérlő karakterek" többségének (de nem mindegyikének) van valamilyen vezérlő funkciója, ezért nem menekülési karakterek.

Számos programozási nyelvben egy menekülési karakter néhány menekülési szekvenciát is alkot, amelyeket vezérlő karaktereknek nevezünk. Például a sortörés menekülési sorrendje \ n.

Példák[szerkesztés]

JavaScript

A JavaScript a \ (visszavonást) használja menekülési karakterként a következőhöz:

  • \ 'egyetlen idézet
  • \ "kettős idézet
  • \\ visszavágás
  • \ n új sor
  • kocsi vissza \ t fül
  • \ b visszalépés
  • \ f feed feed
  • \ v függőleges fül (az Internet Explorer 9 és régebbi verziók a \ v-t függőleges fül helyett ('\ x0B) kezeli. Ha a böngészők közötti kompatibilitás aggályos, akkor a \ v helyett a \ x0B-t használja.)
  • \ 0 null karakter (U + 0000 NULL) (csak akkor, ha a következő karakter nem tizedesjegy; különben ez egy oktális menekülési szekvencia)
  • \ xFF karakter, amelyet az "FF" hexadecimális bájt képvisel

Vegye figyelembe, hogy a \ v és \ 0 menekülések nem engedélyezettek a JSON karakterláncokban.

ASCII menekülési karakter

Az ASCII "escape" karaktert (oktál: \ 033, hexadecimális: \ x1B vagy ^ [vagy tizedesjegyben 27) sok kimeneti eszközben használják egy vezérlési szekvenciának vagy menekülési szekvenciának nevezett karaktersorozat elindítására. Általában a menekülési karaktert először olyan sorrendben küldték el, hogy figyelmeztesse az eszközt, hogy a következő karaktereket nem vezérlő sorrendként, hanem egyszerű karakterként kell értelmezni, majd egy vagy több karakter következik néhány részletes művelet megadására, amely után a eszköz visszatér a karakterek normális értelmezéséhez. Például a ^ [szekvencia, amelyet a nyomtatható karakterek követnek [2; 10H, egy DEC VT102 terminálra készteti a kurzort a képernyő 2. sorának 10. cellájába. Ezt később az ANSI X3.64 szabvány által lefedett ANSI menekülési kódokká fejlesztették. A escape karakter minden parancssort a Hewlett Packard nyomtatóparancsnyelvben is elindít.

A "menekülési karakter" kifejezésre egy korai utalás található Bob Bemer IBM műszaki publikációiban, aki elismeri, hogy kitalálta ezt a mechanizmust az ASCII karakterkészleten végzett munkája során. [3]

Az Escape kulcs általában a szokásos PC-billentyűzeteken található. Ez azonban általában hiányzik a PDA-k és más, elsősorban nem ASCII kommunikációhoz tervezett eszközök billentyűzeteiből. A DEC VT220 sorozat azon kevés népszerű billentyűzetek egyike volt, amelyek nem rendelkeztek külön Esc billentyűvel, ahelyett, hogy a fő billentyűzet fölött használták volna az egyik billentyűt. Az 1970-es és 1980-as évek felhasználói felületeiben nem volt ritka, hogy ezt a kulcsot menekülési karakterként használták, de a modern asztali számítógépeknél ez a használat elmarad. Néha a kulcsot AltMode-tal azonosították (alternatív módhoz). Még a dedikált kulcs nélkül is létrehozható a escape karakter kód a [beírva a Ctrl billentyűt lenyomva tartva.

Programozás és adatformátumok

Sok modern programozási nyelv a dupla idézőjeles karaktert (") határozza meg egy karakterlánc literáljának elválasztóként. A visszavágó (\) escape karakter általában kétféle lehetőséget kínál a dupla idézetek beillesztésére a karakterlánc literáljába, vagy módosítva a karakterlánc (\ "válik"), vagy egy olyan karaktersorozat jelentésének módosításával, amely magában foglalja a dupla idézőjeles karakter hexadecimális értékét (\ x22 lesz ").

A C, C ++, a Java és a Ruby egyaránt pontosan ugyanazt a két visszavágásos menekülési stílust engedi meg. A PostScript nyelv és a Microsoft Rich Text Format szintén visszavonásos menekülést használ. Az idézett-nyomtatható kódolás az egyenlőségjelet használja menekülési karakterként.

Az URL és az URI a% -escapes használatával különleges jelentésű karaktereket idéz, például a nem ASCII karakterek esetében. Az ampersand (&) karakter menekülési karakternek tekinthető az SGML-ben és az olyan származtatott formátumokban, mint a HTML és az XML.

Egyes programozási nyelvek más módszereket is kínálnak a speciális karakterek literálban történő ábrázolására, anélkül, hogy szükség lenne egy escape karakterre (lásd pl. Elválasztó ütközése).

Kommunikációs protokollok

A Point-to-Point Protocol (PPP) a 0x7D oktettet (\ 175 vagy ASCII:}) használja menekülési karakterként. A közvetlenül utána következő oktettet 0x20-al kell XOR-ra fordítani, mielőtt magasabb szintű protokollra továbbítanák. Ez vonatkozik mind magára a 0x7D-re, mind a 0x7E vezérlő karakterre (amelyet a PPP-ben használnak a keret kezdetének és végének jelölésére), amikor ezeket az oktetteket egy magasabb szintű, PPP által beágyazott protokoll segítségével kell továbbítani, valamint más egyeztetett oktettekre. amikor a kapcsolat létrejön. Vagyis, ha egy magasabb szintű protokoll 0x7D-t akar továbbítani, akkor azt 0x7D 0x5D szekvenciaként, és 0x7E 0x7D 0x5E néven továbbítja.

Bourne héja

A Bourne héjban (sh) a csillag (*) és a kérdőjel (?) Karakterek helyettesítő karakterek, amelyeket kibővítették. Előző menekülési karakter nélkül a * kibővül a munkakönyvtárban található összes fájl nevére, amelyek csak akkor kezdődnek ponttal, ha vannak ilyen fájlok, különben a * kibővítetlen marad. Tehát egy szó szerint "*" nevű fájlra való hivatkozáshoz meg kell mondani a héjnak, hogy ne tolmácsoljon ilyet, egy visszavágóval (\) megelőzve. Ez módosítja a csillag (*) értelmezését. Összehasonlítás:

rm * # törli az összes fájlt az aktuális könyvtárból

rm \ * # törölje a * nevű fájlt

Programozási nyelvek[szerkesztés]

A legtöbb modern programozási nyelvben az idézőjel (") karakter a karakterlánc-literálok határolójaként használatos. Ha az idézőjeleken belül szeretnénk idézőjelet írni, azt csak a visszafelé dőlő perjel (backslash) mint feloldójel segítségével tehetjük.

Például Perlben:

print "Nancy said "Hello World!" to the crowd.";

Erre hibaüzenetet (syntax error) kapunk – hiszen a második idézőjellel látszólag véget érne az idézet –, azonban az alábbi

print "Nancy said \"Hello World!\" to the crowd.";

kifejezéssel a kívánt hatást érjük el, mivel a program a backslash miatt figyelmen kívül hagyja a második és harmadik idézőjel szokványos funkcióját, és úgy kezeli ezeket, mint az egyszerű betűket, számjegyeket.

Néhány nyelvben más módszerekkel is megoldhatjuk ezt a problémát.

Az ASCII feloldójel neve ESC, kódja 27, hexadecimálisan 0x1B.

Jegyzetek[szerkesztés]

  • Elektronikus jegyzet az ELTE TTK Információtechnológiai Oktatási Laboratórium Számítógépes alapismeretek tárgyához a shell parancsok kapcsán
  1. Az Angol–magyar informatikai szótár online változata