Array ( [0] => 14796772 [id] => 14796772 [1] => cswiki [site] => cswiki [2] => Escapování [uri] => Escapování [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 0 [has_content] => 0 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Možná hledáte|[[Escape sekvence]] nebo [[ANSI escape kód]]}} [1] => '''Escapování''' (výslovnost eskejpování) je slangový název pro metodu zápisu znaků se speciálním významem v textových [[řetězec|řetězcích]] pomocí posloupností znaků začínajících vybraným, tak zvaným '''únikovým znakem''' ({{Vjazyce2|en|escape character}}), což dalo název této metodě. [2] => [3] => Řetězcové [[literál]]y se obvykle uzavírají do uvozovek nebo apostrofů, což přináší problém, jak vložit do řetězce znak, který slouží pro jeho ohraničení. Jednoduchým a často používaným řešením je zdvojení příslušného znaku. [4] => [5] => Escapování je metoda, která se neomezuje pouze na vkládání znaků ohraničujících řetězec, ale umožňuje do řetězců vkládat také [[řídicí znak]]y, národní znaky, které by mohly způsobovat problémy při zobrazování, přenosu nebo konverzích textu, a jiné znaky se speciálním významem (tzv. [[metaznak]]y). Jako únikový znak se nejčastěji používá zpětné lomítko (\), které bylo použito v [[C (programovací jazyk)|jazyce C]], odkud bylo escapování převzato do dalších [[Programovací jazyk|programovacích jazyků]] a jiných nástrojů. [6] => [7] => == Způsoby escapování == [8] => [9] => === Zpětná lomítka === [10] => Velký vliv na escapování v [[Programovací jazyk|programovacích jazycích]] měl [[C (programovací jazyk)|jazyk C]], ve kterém se problematické znaky v řetězcích zapisují pomocí escape sekvencí začínajících znakem zpětného lomítka (\): [11] => [12] => {| class="wikitable" [13] => |- [14] => ! Posloupnost !! Slouží pro vložení znaku [15] => |- [16] => | \' || [[Apostrof]] [17] => |- [18] => | \" || [[Uvozovky]] [19] => |- [20] => | \\ || [[Zpětné lomítko]] [21] => |- [22] => | \? || [[Otazník]] [23] => |- [24] => | \n || [[Line feed|Nový řádek]] (line feed) [25] => |- [26] => | \r || [[Carriage return|Návrat vozíku]] (carriage return) [27] => |- [28] => | \t || [[Tabulátor]] (tab) [29] => |- [30] => | \v || Vertikální tabulátor (vertical tab) [31] => |- [32] => | \f || Nová stránka (form feed) [33] => |- [34] => | \a || Zvonek (bell) [35] => |- [36] => | \b || [[Backspace]] [37] => |- [38] => | \0nn || Znak se zadaným kódem (v [[Osmičková soustava|osmičkové soustavě]]) [39] => |- [40] => | \xHH || Znak se zadaným kódem (v [[Šestnáctková soustava|šestnáctkové soustavě]]) [41] => |- [42] => | \uHHHH || [[Unicode]] znak U+HHHH [43] => |} [44] => [45] => Toto escapování používá např. [[C (programovací jazyk)|jazyk C]]/[[C++]]/[[C Sharp|C#]], [[JavaScript]], [[MySQL]] ale třeba i [[regulární výrazy]]. [46] => [47] => Příklad ([[MySQL]]): [48] => [49] => INSERT INTO produkty(id, nazev) VALUES(5, 'džíny Levi\'s'); [50] => [51] => [52] => Příklad ([[C (programovací jazyk)|C]]): [53] => [54] => char* cesta="C:\\Temp\\"; [55] => [56] => [57] => === Entity === [58] => {{podrobně|HTML entita}} [59] => Metoda velmi podobná escapování je zápis entit v [[HyperText Markup Language|HTML]] a [[Extensible Markup Language|XML]]. Speciálním znakem, který uvádí posloupnost, jež má být interpretována odlišně, je znak [[ampersand]] (&); pro ukončení slouží středník (;). Mezi nimi je název entity nebo znak dvojité mřížky (#) a [[desítková soustava|desítkový]] kód znaku (pro zápis znaku Euro lze použít € nebo €). Samotný ampersand se zapisuje & nebo &. [60] => [61] => == Jiné metody == [62] => [63] => === Zdvojování === [64] => V některých jazycích se místo používání escape sekvencí uvozovky zdvojují. Tuto metodu používá např. [[BASIC]], [[Sybase]], [[Pascal (programovací jazyk)|Pascal]], [[rc shell]], [[CSV]] formát. [65] => [66] => Příklad ([[Pascal (programovací jazyk)|Pascal]]): [67] => [68] => var obleceni: string; [69] => obleceni := 'džíny Levi''s'; [70] => [71] => [72] => Příklad pro nalezení řetězce „100 %“ (pro [[MySQL]], které používá % jako zástupný znak): [73] => [74] => SELECT id FROM clanky WHERE nazev LIKE "100 %%" [75] => [76] => [77] => === Použití jiných omezovačů === [78] => Některé jazyky ([[Python]], [[Tcl]], [[Bourne shell]]) mají různé omezovače řetězcových literálů (někdy s poněkud odlišným významem); pokud má být v řetězci pouze jeden z omezovačů, lze pro ohraničení řetězce použít druhý. [79] => [80] => Některé [[Systém řízení báze dat|databázové systémy]] umožňují dát [[databázový sloupec|sloupcům]] v [[tabulka (databáze)|tabulkách]] [[identifikátor]] obsahující diakritické znaky, ale i např. mezery a jiné znaky. Ty by však působily problém [[syntaktická analýza|syntaktickému analyzátoru]] [[SQL]]. Databázová řešení si tedy do SQL přidala pravidlo pro stanovení hranic identifikátorů databázových sloupců (použitelné i pro názvy tabulek): [81] => [82] => * Příklad pro MS SQL: SELECT [telefon do zaměstnání] FROM [zaměstnanci]; [83] => * Příklad pro MySQL: SELECT `telefon do zaměstnání` FROM `zaměstnanci`; [84] => [85] => U MS SQL ve výše uvedeném příkladu se, technicky vzato, nejedná o escapování v pravém slova smyslu, protože znaky [ a ] nemohou být použity uvnitř názvu. MySQL si ve stejném případě umí poradit a zpětný apostrof (`) escapovat jeho zdvojením. [86] => [87] => === Další alternativy === [88] => * přerušit řetězec v místě problematického znaku a vložit funkci, která vrací znak odpovídající kódu předanému jako parametr (typicky nazývanou chr() nebo char()), nebo operátor jako je # v [[Turbo Pascal]]u: Writeln('Symboly '#27#24#25#26' jsou kurzorové šipky.'); [89] => * u jazyků, které řetězce umožňují uzavírat do jednoduchých i dvojitých uvozovek, lze použití jednoduchých a dvojitých uvozovek střídat, např. $s = 'odkaz'; ([[PHP]]) [90] => * formátování řetězců přes funkce typu sscanf, sprintf apod. [91] => * jedná-li se o výstup, jenž má být srozumitelný pro člověka, a není-li klíčové, aby znaky měly nutně totožný [[ASCII]] kód, pak (není-li jiná možnost) lze místo znaků se speciálním významem použít [[ASCII art|vizuálně podobný znak]], např. intervalové závorky nahradit francouzskými jednoduchými uvozovkami ( ‹ › ), anglické uvozovky dvěma apostrofy apod. [92] => [93] => == Odkazy == [94] => [95] => === Související články === [96] => * [[Escape sekvence]] [97] => * [[Oddělovač]] [98] => [99] => === Externí odkazy === [100] => * [http://php.vrana.cz/escapovani.php Escapování v HTML, URL a PHP] [101] => * [http://phpfashion.com/escapovani-definitivni-prirucka Escapování – definitivní příručka] [102] => {{Autoritní data}} [103] => [104] => [[Kategorie:Programování]] [105] => [[Kategorie:Unární operátory]] [] => )
good wiki

Escapování

Escapování (výslovnost eskejpování) je slangový název pro metodu zápisu znaků se speciálním významem v textových řetězcích pomocí posloupností znaků začínajících vybraným, tak zvaným únikovým znakem , což dalo název této metodě. Řetězcové literály se obvykle uzavírají do uvozovek nebo apostrofů, což přináší problém, jak vložit do řetězce znak, který slouží pro jeho ohraničení.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'C (programovací jazyk)','MySQL','Escape sekvence','Pascal (programovací jazyk)','Programovací jazyk','Šestnáctková soustava','Python','C Sharp','Bourne shell','metaznak','databázový sloupec','Sybase'