OrdinadorsProgramació

UTF-8 - codificació de caràcters

Unicode és compatible amb pràcticament tots els jocs de caràcters existents. La millor forma de codificació de joc de caràcters Unicode és codificació UTF-8. És compatible amb la compatibilitat amb ASCII, resistència a la distorsió de les dades, l'eficiència i la facilitat de processament. Però primer el primer.

forma de codificació

Els ordinadors funcionen no només com números d'objectes abstractes matemàtics, així com les combinacions d'unitats d'emmagatzematge i maneig de dades de mida fixa - bytes i paraules de 32 bits. estàndard de codificació ha de tenir això en compte a l'hora de determinar la manera de presentar el nombre de caràcters.

En sistemes informàtics, els enters s'emmagatzemen en les cèl·lules de memòria de 8 bits (1 byte), 16 o 32 bits. Cada forma defineix una codificació Unicode, la seqüència de cel·les de memòria és un nombre enter que correspon a un símbol particular. En l'estàndard hi ha tres formes diferents de codificació de caràcters Unicode 8, 16 i 32 bits blocs. En conseqüència, es coneixen com UTF-8, UTF-16 i UTF-32. Nom UTF significa Unicode Transformation Format. Cadascuna de les tres formes de mitjans de codificació és igual de caràcters Unicode representació té avantatges en diverses aplicacions.

El xifrat de dades es pot utilitzar per representar tots els caràcters de l'estàndard Unicode. Així, són totalment compatibles amb les solucions per a una varietat de raons, l'ús de diferents formes de codificació. Cada codificació sense ambigüitats es pot convertir en qualsevol dels altres dos, sense pèrdua de dades.

principi nenalozheniya

Cada un de la codificació de formes Unicode desenvolupat en vista de superposició no parcial. Per exemple, Windows-932 forma els caràcters d'un o dos bytes de codi. La longitud de la seqüència depèn de la primera byte, de manera que els valors principals de bytes en la sèrie de de doble byte i només disjunts byte. No obstant això, el valor d'un sol byte i posterior seqüència de bytes poden coincidir. Això significa per exemple que la recerca de caràcters D (codi 44) pot trobar-per error d'entrar a la segona part de la seqüència de caràcters de doble byte "D" (codi 84 44). Per saber en quina seqüència és correcta, el programa ha de tenir en compte els bytes anteriors.

La situació és complicada, si el partit anterior i posterior bytes. Això vol dir que per tal d'eliminar l'ambigüitat serà una recerca inversa abans d'arribar al començament del text o la seqüència de codi únic. Això no només és ineficaç, però no està protegit de possibles errors, ja que només un byte erroni el text complet s'ha tornat il·legible.

la conversió del format Unicode evita aquest problema perquè el valor de la principal, d'arrossegament, i una sola unitat d'emmagatzematge no són la mateixa informació. Això assegura que tots Unicode per a la recerca i comparació, no donant lloc a resultats erronis a causa de la coincidència de diferents parts del codi de caràcters. El fet que aquestes formes de codificació d'observar el principi nenalozheniya, els distingeix d'altres codificacions multi-byte de l'est asiàtic.

Un altre aspecte nonintersection codificacions Unicode és que cada personatge té una frontera clarament definida. Això elimina la necessitat d'escanejar un nombre indefinit de símbols anteriors. Aquesta característica es denomina de vegades auto-codificació de rellotge. La distorsió de les unitats de codi introduirà una distorsió d'un sol caràcter, i els personatges que envolten estan encara intactes. En la conversió del format de 8 bits, si el punter apunta a byte, a partir d'10xxxxxx (en codi binari) per trobar es requereix l'inici del símbol d'un a tres transicions inverses.

consistència

Unicode Consortium dóna suport plenament totes les 3 formes de codificacions. És important no oposar-se a la UTF-8 i Unicode, com tots els formats de conversió - igualment formes vàlides de realització de la codificació de caràcters Unicode estàndard.

Byte-orientació

Per representar caràcters UTF-32 es necessita una unitat de codi de 32 bits, que coincideix amb el codi Unicode. UTF-16 - una o dues unitats de 16 bits. A UTF-8 utilitza fins a 4 bytes.

Codificació UTF-8 està dissenyat per a ser compatible amb els sistemes basats en ASCII orientats a bytes. La major part del programari existent i la pràctica de la tecnologia de la informació durant molt de temps es va basar en la representació de caràcters en una seqüència de bytes. protocols múltiples depèn de la constància de la codificació ASCII i utilitza bé evita els caràcters de control especials. Una forma senzilla per adaptar-se a situacions Unicode pot, utilitzant la codificació de 8 bits per a la representació de caràcters Unicode, qualsevol caràcter ASCII equivalent o un caràcter de control. Amb aquesta finalitat, i és codificació UTF-8.

de longitud variable

UTF-8 - codificació de longitud variable, que consta d'unitats d'emmagatzematge de 8 bits, els bits superiors que indiquen a quina part de la seqüència de cada byte individu pertany. Una gamma de valors assignats al primer element de la seqüència de codi, un altre - per al següent. Això proporciona codificació disjointness.

ASCII

codis ASCII codificació UTF-8 és totalment compatible (0x00-0x7F). Això significa que els caràcters Unicode U + 0000-U + 007F esdevenen un sol byte 0x00-0x7F UTF-8 i per tant es converteixen en indistingibles d'ASCII. D'altra banda, per evitar l'ambigüitat, el valor 0x00-0x7F no s'utilitza més en una sola representació byte de caràcters Unicode. Per codificar símbols neideograficheskih diferent d'ASCII, usant una seqüència de dos bytes. Símbols oscil·len U + 0800-U + FFFF estan representats per tres bytes, i codis addicionals amb més d'O + FFFF requereixen quatre bytes.

àmbit d'aplicació

Codificació UTF-8 generalment es dóna preferència en el protocol HTML, i similars.

XML s'ha convertit en el primer estàndard amb suport complet per a codificació UTF-8. Les organitzacions de normalització també ho recomanen. problema de suport en l'adreça URL que és diferent dels caràcters ASCII, es va resoldre quan el grup d'enginyeria IETF consorci W3C i van arribar a un acord sobre la codificació de totes les adreces URL exclusivament en UTF-8.

Compatibilitat amb ASCII facilita la transició cap al nou programari. Amb UTF-8 treballa la majoria dels editors de text, incloent jEdit, Emacs, BBEdit, Eclipsi, i "Bloc de notes" el sistema operatiu Windows. Cap altra forma de codificació Unicode no pot presumir d'un suport de l'eina.

avantatge de codificació és que consisteix d'una seqüència de bytes. Amb cadena UTF-8 és fàcil treballar en C i altres llenguatges de programació. Aquesta és l'única forma de codificació, l'ordre no requereix etiquetes de bytes de la llista de materials o una declaració de codificació en XML.

auto-sincronització

En un entorn que utilitza símbols de 8 bits del processament en comparació amb altres jocs de caràcters de diversos bytes, UTF-8 té els següents avantatges:

  • La primera seqüència de codi byte conté informació sobre la seva longitud. Això augmenta l'eficiència de la recerca directa.
  • Simplificat trobar el començament del símbol com el byte inicial es limita a un rang fix de valors.
  • No hi ha valors de bytes intersecció.

Compari els beneficis

Codificació UTF-8 és compacte. No obstant això, quan s'utilitza per a la codificació de caràcters de l'Àsia oriental (xinès, japonès, coreà, xinès escrit utilitzant signes) utilitza seqüències de 3 bytes. També codificació UTF-8 és inferior a la d'altres formes de codificació de velocitat de processament. Un binari línies de classificació produeix el mateix resultat que el binari de classificació Unicode.

L'esquema de codificació de caràcters

L'esquema de codificació de caràcters comprèn la forma de codificació de símbols i un mètode per a unitats de codi de posició d'un sol byte. Per determinar l'esquema de codificació estàndard Unicode proporciona l'ús d'una marca inicial d'ordre de bytes (marca d'ordre de llista de materials, Byte).

Quan la llista de materials en UTF-8 característica etiqueta està limitat només per referència a la utilització de les formes de codificació. Els problemes en la determinació de la UTF-8 endian tenen, com la seva grandària de la unitat de codificació és un byte. Usant la llista de materials per a aquesta forma de codificació no és ni necessària ni recomanable. BOM es pot produir en el text per a ser convertida d'altres codificacions utilitzant marca d'ordre de byte o signatura per codificació UTF-8. És una seqüència de 3 bytes EF BB 16 16 BF 16.

Com establir la codificació UTF-8

El codi HTML UTF-8 s'instal·la amb el següent codi:

cap

Meta http-equiv = "Content-Type" "text / html; charset = UTF-8" content = ˃

En PHP codificació UTF-8 es fixa usant la funció header () al principi de l'arxiu després d'ajustar l'error de valor de nivell de sortida:

˂? Php

error_reporting (-1);

header ( "Content-Type: text / html; charset = UTF-8 ');

Per connectar-se a una base de dades MySQL s'estableix codificació UTF-8:

˂? Php

mysql_set_charset ( 'utf8');

El CSS-codificació d'arxius és caràcters UTF-8 s'especifica a continuació:

@charset "UTF-8";

En guardar els arxius de tot tipus trien codificació UTF-8 sense BOM, en cas contrari el lloc no funcionarà. Per fer això en Dreamweave que hagi de seleccionar les "Modificacions - Propietats de la pàgina - Títol / Codificació" element de menú per canviar la codificació UTF-8. Seguit per tornar a carregar la pàgina, treure la marca de verificació de "Connectar signatura Unicode (BOM)» i aplicar els canvis. Si qualsevol text en una pàgina o en una base de dades es va introduir una altra forma de codificació, cal tornar a entrar o tornar a codificar. Quan es treballa amb expressions regulars, assegureu-vos d'utilitzar el modificador u.

També pot guardar el fitxer en codificació UTF-8 en el "Bloc de notes" de Windows. Després de seleccionar l'opció de menú "Arxiu - Guardar com ..." per instal·lar la forma necessària de codificació i guardar l'arxiu en UTF-8.

En un editor de text Notepad ++, si s'estableix que no sigui UTF-8, a través de l'opció de menú "Convertir UTF-8 sense BOM» canviar el caràcter i guardar en UTF-8.

no hi ha alternativa

En el context de la globalització, on s'esborren les fronteres polítiques i lingüístiques, els jocs de caràcters que tenen característiques locals, són de poca utilitat. Unicode és un conjunt únic de caràcters compatible amb totes les localitzacions. Un UTF-8 - un exemple de la correcta aplicació d'Unicode, que és:

  • És compatible amb una àmplia gamma d'eines, inclosa la compatibilitat amb la codificació ASCII;
  • És resistent a les dades de distorsió;
  • simple i eficaç en el tractament;
  • és independent de la plataforma.

Amb l'adveniment del debat UTF-8 sobre quin tipus de codificació o conjunt de caràcters és millor, es torna sense sentit.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ca.birmiss.com. Theme powered by WordPress.