Vyhledávání webu

utf-8 - kódování znaků

Unicode podporuje téměř všechny existujícísady znaků. Nejlepší formou kódování znakových kódů Unicode je kódování utf-8. Poskytuje kompatibilitu s ASCII, odolnost proti poškození dat, efektivnost a snadné zpracování. Ale o všechno v pořádku.

Formy kódování

Počítače pracují s čísly nejen jakoabstraktní matematické objekty, ale jako kombinace jednotek ukládání a zpracování informací o pevné velikosti - bajtů a 32bitových slov. Standard kódování musí brát v úvahu při určování způsobu, jakým jsou znaky reprezentovány čísly.

V počítačových systémech jsou uložena celá číslapaměťové buňky ve velikosti 8 bitů (1 byte), 16 nebo 32 bitů. Každý kódovací kód Unicode určuje, která sekvence paměťových buněk představuje celé číslo odpovídající danému znaku. Standard nabízí tři různé formy kódování znaků Unicode: bloky 8, 16 a 32 bitů. Proto se nazývají utf-8, UTF-16 a UTF-32. Název UTF znamená formát konverze Unicode. Každá ze tří forem kódování je rovnocenná reprezentace znaků Unicode, má výhody v různých aplikacích.

Tyto kódy lze použít proreprezentace všech znaků Unicode. Proto jsou plně kompatibilní s řešeními z různých důvodů s použitím různých forem kódování. Každé kódování může být jednoznačně převedeno na libovolný z ostatních dvou bez ztráty dat.

utf 8 kódování

Zásada neuložení

Každá z formátů kódování Unicode je navržena ss přihlédnutím k nepřípustnosti částečného překryvu. Například systém Windows-932 generuje znaky z jednoho nebo dvou bajtů kódu. Délka sekvence je závislá na první byte, takže vůdčí hodnoty bytů v sérii dvou byte a jednoho byte disjunktní. Avšak hodnota jednoho bajtu a koncové bajt sekvence může shodovat. To například znamená, že charakter vyhledávání D (kód 44), může to omylem vstupu do druhé části sekvence dvou-znakové „D“ (kód 84 44). Chcete-li zjistit, která sekvence je správná, musí program brát v úvahu předchozí bajty.

Situace se stává komplikovanějším v případě, že vedoucí a koncovébajtů bude odpovídat. To znamená, že pro zrušení dvojznačnosti bude provedeno zpětné vyhledávání až do začátku textu nebo jednoznačného posloupnosti kódu. To je nejen neefektivní, ale není chráněno před možnými chybami, protože jeden špatný byte stačí k tomu, aby celý text nebyl čitelný.

Formát konverze Unicode se vyhnetohoto problému, protože hodnoty předních, zavíracích a jednotkových paměťových jednotek se nezhodují. Kvůli tomu jsou všechny kódování Unicode vhodné pro vyhledávání a porovnávání, aniž by se daly chybný výsledek kvůli shodě různých částí znakového kódu. Skutečnost, že tyto formy kódování dodržují zásadu nepřidělení, je odlišuje od ostatních kódování ve východní Asii.

Další aspekt nepřekročení kódování Unicodeje, že každá postava má jasně definované hranice. To eliminuje potřebu skenování neurčeného počtu předchozích znaků. Tato vlastnost kódování se někdy nazývá samočinná synchronizace. Zkreslení jedné jednotky kódu způsobí zkreslení pouze jednoho znaku a okolní symboly zůstávají neporušené. Ve formátu konverze na 8 bitů, pokud se ukazatel odkazuje na bajt začínající 10xxxxxx (v binárním kódování), je třeba vyhledat jeden až tři reverzní přechody, aby se zjistil začátek znaku.

kódování utf 8

Konzistence

Unicode Consortium plně podporuje všechny3 formy kódování. Je důležité neuplatnit proti utf-8 a Unicode, protože všechny formáty konverzí jsou stejně legitimní implementace formulářů kódování znaků Unicode.

Bajtová orientace

Chcete-li reprezentovat symbol UTF-32, potřebujete jednu 32bitovou jednotku kódu, která odpovídá kódu Unicode. UTF-16 - z jedné až dvou 16bitových jednotek. A utf-8 používá až 4 bajty.

Kódování utf-8 bylo vytvořeno pro kompatibilitu sbyte-orientované systémy založené na ASCII. Většina stávajících postupů v oblasti softwaru a informačních technologií se po dlouhou dobu spoléhá na reprezentaci symbolů ve formě sekvence bajtů. Mnoho protokolů závisí na nezměněném kódování ASCII a buď používá nebo vyhrazuje zvláštní řídící znaky. Jednoduchý způsob, jak přizpůsobit kód Unicode takovým situacím, je použití 8bitového kódování, které reprezentuje znaky Unicode, které odpovídají libovolnému znaku ASCII nebo řídícímu znaku. K tomu je určeno utf-8 kódování.

Proměnná délka

utf-8 je kódování s proměnnou délkou sestávající z8bitové jednotky pro ukládání informací, jejichž bity s vysokým pořadím označují, která část sekvence patří každému jednotlivému bytu. Jeden rozsah hodnot je přidělen pro první prvek kódu, druhý pro další prvky. Tím zajistíte disjunktní kódování.

kódování utf 8

ASCII

Kódování utf-8 plně podporuje kódy ASCII(0x00-0x7F). To znamená, že znaky Unicode U + 0000-U + 007F jsou převedeny na jeden byte 0x00-0x7F utf-8 a tak se stanou nerozlišitelnými od ASCII. Navíc, aby se zabránilo nejednoznačnosti, hodnoty 0x00-0x7F se už nepoužívají v žádném bajtu reprezentace znaků Unicode. Chcete-li zakódovat jiné než ideologické symboly než ASCII, použije se posloupnost dvou bajtů. Symboly rozsahu U + 0800-U + FFFF jsou reprezentovány třemi bajty a další s kódy vyššími než U + FFFF vyžadují čtyři bajty.

Rozsah aplikace

Kódování utf-8 je obvykle preferováno v protokolu HTML a podobně.

XML se stal prvním standardem s plnou podporoukódování utf-8. Organizace zapojené do normalizace také doporučují. Problém s podporou URL adres jiných než znaků ASCII byl vyřešen, když konsorcium W3C a inženýrská skupina IETF souhlasily s kódováním všech adres URL výlučně v utf-8.

Kompatibilita s ASCII usnadňuje přechod na novýsoftware. U utf-8 pracuje většina textových editorů, včetně JEdit, Emacs, BBEdit, Eclipse a Poznámkový blok operačního systému Windows. Žádná jiná forma kódování Unicode se nemůže pochlubit takovou podporou z nástrojů.

Výhodou kódování je, že je tosestává ze sekvence bajtů. String utf-8 snadné s ním pracovat v C a jiné programovací jazyky. Toto je jediný způsob kódování pořadí nevyžaduje štítky bytů BOM nebo prohlášení kódování v XML.

html kódování utf 8

Vlastní synchronizace

V prostředí s 8bitovým zpracováním znaků má utf-8 v porovnání s jinými kódováním s více bajty následující výhody:

  • První bajt kódové sekvence obsahuje informace o jeho délce. To zvyšuje efektivitu přímého vyhledávání.
  • Je snadnější najít začátek znaku, protože počáteční byte je omezen na pevný rozsah hodnot.
  • Neexistuje průsečík hodnot bytu.

Srovnání výhod

utf-8-encoding je kompaktní. Při přihlašování k kódování východoasijských znaků (čínštině, japonštině, korejštině, použití čínských znaků) se používají 3bajtové sekvence. Také utf-8-kódování je nižší než jiné formy kódování rychlostí zpracování. Třídění binárních řetězců vytváří stejný výsledek jako binární třídění Unicode.

Schéma kódování znaků

Schéma kódování znaků se skládá z formulářekódování znaků a způsob uspořádání kódových jednotek podle pořadí pixelů. Chcete-li zjistit schéma kódování podle normy Unicode, použije se počáteční značka bytu (BOM, značka objednávky Byte).

Je-li povolen kusovník v souboru utf-8, funkce štítkuje omezena pouze uvedením použití kódovacího formuláře. Neexistují žádné problémy při určování pořadí bajtů v utf-8, protože jeho velikost kódovací jednotky je jeden bajt. Použití kusovníku pro tento kódovací formulář není povinné ani doporučeno. Rozbalit všechny záložky | Minimalizovat všechny záložky Na této stránce Příznaky BOM může dojít v textech převeden z jiných kódování, které používají značku byte příkazu nebo podfóry kódování utf-8. Je to posloupnost 3 bajtů EF16 BB16 BF16.

soubor v utf 8 kódování

Jak nastavit kódování utf-8

V kódu HTML je kódování utf-8 nastaveno pomocí následujícího kódu:

˂head˃

˂meta http-equiv = "Obsahový typ" content = "text / html; charset = utf-8"

V PHP je kódování utf-8 zadáno pomocí funkce záhlaví () na začátku souboru po nastavení hodnoty výstupní úrovně chyb:

˂? Php

error_reporting (-1);

záhlaví ("Obsahový typ: text / html; charset = utf-8");

Pro připojení k databázím MySQL je kódování utf-8 nastaveno následovně:

˂? Php

mysql_set_charset ("utf8");

V souborech CSS je kódování znaků utf-8 zadáno následovně:

@charset "utf-8";

uložte jako utf 8

Při ukládání souborů všech typů vyberte možnostkódování utf-8 bez kusovníku, jinak web nebude fungovat. Chcete-li to provést, musíte v programu DreamWeave vybrat položku nabídky "Modifikace - Vlastnosti stránky - název / kódování", změnit kódování na utf-8. Poté znovu načtěte stránku, zrušte zaškrtnutí políčka "Connect Unicode Signatures (BOM)" a použijte změny. Pokud byl některý text na stránce nebo v databázi zadán jiným kódem, musí být znovu zadán nebo znovu zakódován. Při práci s regulárními výrazy je povinné použít modifikátor u.

Soubor můžete uložit také v kódování utf-8 v Poznámkovém bloku systému Windows. Po výběru položky nabídky "Soubor - Uložit jako ..." nastavte potřebný formát kódování a uložte soubor do utf-8 kódování.

V textovém editoru Notepad ++, pokud se kódování liší od utf-8, změňte kódování a uložte jej v kódování utf-8 pomocí položky nabídky "Převést do souboru utf-8 bez kusovníku".

kódování utf 8 bez bom

Neexistuje žádná alternativa

V kontextu globalizace, kdy politický ajazykové hranice jsou vymazány, sady symbolů, které mají místní charakteristiky, jsou méně užitečné. Unicode je jediná sada znaků, která podporuje všechna lokalizace. A utf-8 je příkladem správné implementace Unicode, která:

  • podporuje širokou škálu nástrojů, včetně kompatibility s kódováním ASCII;
  • je odolná proti poškození dat;
  • jednoduché a účinné při zpracování;
  • nezávisí na platformě.

S příchodem utf-8 diskuse o tom, jakou formu kódování nebo sadu znaků je lepší, se staly nesmyslnými.

</ p>
  • Hodnocení: