InformáticaProgramación

UTF-8 - codificación de caracteres

Unicode soporte practicamente todos os conxuntos de caracteres existentes. A mellor forma de codificación de caracteres Unicode é UTF-8. Soporta a compatibilidade con ASCII, resistencia á distorsión dos datos, a eficiencia e facilidade de procesamento. Pero as primeiras cousas primeiro.

forma codificación

Os ordenadores funcionan non só como números de obxectos abstractos matemáticas, así como as combinacións de unidades de almacenamento e manipulación de datos de tamaño fixo - de bytes e as palabras de 32 bits. estándar de codificación debe ter en conta ao determinar a forma de presentar o número de caracteres.

En sistemas de ordenador, os números enteiros almacenados nas células de memoria de 8 bits (1 byte), 16 ou 32 bits. Cada forma define un conxunto de caracteres Unicode, cuxa secuencia de células de memoria é un número enteiro correspondente a un símbolo en particular. No estándar existen tres formas distintas de codificación de caracteres Unicode 8, 16 e 32 bits bloques. Por conseguinte, son coñecidos como UTF-8, UTF-16 e UTF-32. Nome UTF significa Unicode Transformation Format. Cada unha das tres formas de medios de codificación é igual caracter Unicode representación ten vantaxes en diversas aplicacións.

A encriptación de datos pode ser usado para representar todos os caracteres no estándar Unicode. Así, son totalmente compatibles coas solucións para unha variedade de razóns, o uso de diferentes formas de codificación. Cada codificación pode inequivocamente pode converter en calquera dos outros dous sen perda de datos.

principio nenalozheniya

Cada unha das formas de codificación Unicode desenvolvido con vistas non superposición parcial. Por exemplo, Windows-932 forma os caracteres de un ou dous bytes de código. A lonxitude da secuencia depende do primeiro byte, de xeito que os valores de byte principais da serie de dous bytes e único byte disxuntiva. Con todo, o valor dun byte único e de fuga secuencia de bytes poden coincidir. Isto significa por exemplo, que o carácter de busca D (código 44) pode atoparse lo erroneamente entrar dentro da segunda porción da secuencia de caracteres de dous bytes "D" (código 84 44). Para descubrir cal secuencia correcta, o programa debe ter en conta os bytes anteriores.

A situación é complicada, se o xogo esquerda e á dereita bytes. Isto significa que, a fin de eliminar a ambigüidade será unha busca inversa antes de chegar ao inicio do texto ou a secuencia de código único. Este non é só ineficiente, pero non está a ser protexido de posibles erros, xa que só un byte incorrecto para o texto completo converteuse en lexible.

a conversión do formato de Unicode evita este problema xa que o valor da principal, á dereita, e unha única unidade de almacenamento non son a mesma información. Isto garante que todas as Unicode para investigación e comparación, nunca dando resultados errados debido á coincidencia de diferentes partes do código de caracteres. O feito de que esas formas de codificación de observar o principio nenalozheniya os distingue outras codificacións de multi-byte do leste asiático.

Outro aspecto nonintersection codificacións Unicode é que cada personaxe ten unha fronteira claramente definida. Isto elimina a necesidade de dixitalizar un número indefinido de símbolos anteriores. Esta característica é ás veces chamado de codificación auto-clocking. Distorsión de unidades de código pode introducir unha distorsión de só un carácter, e os personaxes que rodean aínda están intactos. Na conversión de formato de 8 bits, se o apuntador apunta para o byte, comezando con 10xxxxxx (en código binario) para atopar é necesario o inicio do símbolo para un a tres transicións reversibles.

consistencia

Unicode Consortium apoia plenamente as 3 formas de codificacións. É importante que non opoñerse á UTF-8 e Unicode, como todos os formatos de conversión - igualmente válidas as formas de concreción do estándar de codificación de caracteres Unicode.

Byte-orientación

Para representar UTF-32 caracteres terá unha unidade de código de 32 bits, que coincide co Unicode. UTF-16 - unha a dúas unidades de 16 bits. Un UTF-8 utilízase para 4 bytes.

codificación UTF-8 está deseñado para ser compatible cos sistemas baseados en ASCII orientado de bytes. A maioría do software existente e práctica da tecnoloxía da información por un longo tempo contou coa representación de caracteres nunha secuencia de bytes. Varios protocolos depende da constancia de codificación ASCII e utiliza tanto evita os caracteres especiais de control. Un xeito sinxelo de se adaptar a situacións Unicode pode, mediante codificación de 8 bits para representar carácteres Unicode, calquera carácter ASCII equivalente ou un carácter de control. Para este fin, e é UTF-8.

lonxitude variable

UTF-8 - codificación de lonxitude variable, que consiste en unidades de almacenamento de 8 bits, os bits máis significativos que indican que a parte da secuencia de cada byte individuo pertence. Unha gama de valores asignados ao primeiro elemento da secuencia código, outra - para a próxima. Isto proporciona a codificación disjunção.

ASCII

códigos ASCII UTF-8 está totalmente soportados (0x00-0x7F). Isto significa que os caracteres Unicode L 0000-U 007F son convertidos en único byte 0x00-0x7F UTF-8 e, así, tornar-se indistinguibles ASCII. Ademais, para evitar ambigüidade, o valor 0x00-0x7F non utilizada máis dunha única representación de bytes de caracteres Unicode. Para codificar neideograficheskih outros do que os caracteres ASCII, utilizando unha secuencia de dous bytes. Símbolos variar L 0800-U FFFF está representada por tres bytes, e códigos adicionais con máis que U FFFF requiren catro bytes.

esfera de aplicación

UTF-8 normalmente é dada preferencia no protocolo HTML, e semellantes.

XML tornouse o primeiro estándar con total soporte para codificación UTF-8. organizacións de estándares, tamén se recomenda. problema apoio no enderezo de URL que é distinto dos ASCII caracteres, estaba resolta cando o consorcio W3C e grupo de enxeñería IETF chegaron a un acordo sobre o conxunto de todos os enderezos URL exclusivamente en UTF-8.

Compatibilidade con ASCII facilita a transición ao novo software. Con UTF-8 funciona a maioría dos editores de texto, incluíndo jEdit, Emacs, BBEdit, Eclipse, e "Notepad" do sistema operativo Windows. Ningunha outra forma de codificación Unicode non pode gabar de tal apoio da ferramenta.

codificación vantaxe é que está composto por unha secuencia de bytes. Con UTF-8 cadea é doado traballar en C e outras linguaxes de programación. Esta é a única forma de codificación, a orde non require etiquetas bytes bo ou unha declaración de codificación en XML.

auto-sincronización

Nun ambiente que utiliza os símbolos de 8 bits do procesamento en comparación con outros conxuntos de caracteres de bytes múltiples, UTF-8 ten as seguintes vantaxes:

  • A primeira secuencia de código byte contén información sobre a súa lonxitude. Isto aumenta a eficiencia da busca directa.
  • Simplificada atopar o inicio do símbolo como o byte inicial está limitada a un intervalo fixo de valores.
  • Non hai valores intersección de bytes.

Compare os beneficios

UTF-8 é compacto. Pero cando se usa para codificación de caracteres do leste asiático (chinés, xaponés, coreano, chinés escrito usando sinais) usado secuencias de 3 bytes. Tamén UTF-codificación 8 é inferior a outras formas de codificación de velocidade de procesamento. A liñas de selección binarios produce o mesmo resultado que o binario de selección Unicode.

O esquema de codificación de caracteres

O esquema de codificación de caracteres comprende forma símbolos de codificación e método para unidades de código de localización de byte sinxelo. Para determinar o sistema de codificación por defecto Unicode proporciona o uso dunha marca de orde de bytes de inicio (marca de orde BO, Byte).

Cando a lista de materiais en UTF-8 marca característica é limitados por referencia á utilización de formas de codificación. Problemas en determinar o UTF-8 endian ter, como o seu tamaño unidade de codificación é un byte. Usando o bo para esta forma de codificación non é necesario nin recomendable. BO pode ocorrer no texto a ser convertido a partir doutros códigos usando marca orde de bytes ou sinatura para codificación UTF-8. É unha secuencia de 3 bytes EF BB 16 16 16 BF.

Como para definir a codificación UTF-8

O HTML codificación UTF-8 está instalado co seguinte código:

cabeza

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

No PHP UTF-8 defínese a través da función de cabeceira () no inicio do ficheiro despois de establecer o valor de erro de nivel de saída:

˂? Php

error_reporting (-1);

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

Para conectarse a unha base de datos MySQL UTF-8 codificación está definida:

˂? Php

mysql_set_charset ( 'UTF-8');

A codificación de ficheiro CSS e caracteres UTF-8 se especifica como segue:

@charset "UTF-8";

Cando gardar os arquivos de todo tipo que escolle codificación UTF-8 sen BO, se non o sitio non vai funcionar. Para iso no DreamWeave que seleccionar as "Modificacións - Propiedades da páxina - Título / codificación" elemento de menú para cambiar a codificación UTF-8. Seguido volver cargar a páxina, eliminar a marca de verificación de "sinatura Conexión Unicode (BO)» e aplicar os cambios. Se calquera texto nunha páxina ou nunha base de datos foi introducida unha outra forma de codificación, cómpre volver entrar ou re-codificar. Cando se traballa con expresións regulares esqueza usar o modificador de u.

Tamén pode gardar o ficheiro en codificación UTF-8 no "bloque de notas" de Windows. Despois de seleccionar o elemento de menú "Arquivo - Gardar como ..." para instalar a forma necesaria de codificación e gardar o ficheiro en UTF-8.

Nun editor de texto Notepad ++, definir diferente de UTF-8, a través do elemento de menú "Convert to UTF-8 sen bo» cambiar o carácter e gardar en UTF-8.

non hai ningunha alternativa

No contexto da globalización, na que as fronteiras políticas e lingüísticas son borrados, os conxuntos de caracteres que teñen características locais, son de pouca utilidade. Unicode é un único conxunto de carácteres que soporta as localizacións. A UTF-8 - un exemplo da boa execución do Unicode, que é:

  • Soporta unha ampla variedade de ferramentas, incluíndo compatibilidade coa codificación ASCII;
  • É resistente á distorsión de datos;
  • sinxela e eficaz no tratamento;
  • é independente de plataforma.

Co advento da UTF-8 debate sobre a forma de codificación ou conxunto de caracteres é mellor, torna-se sen sentido.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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