Colección de citas famosas - Colección de máximas - ¿Qué es la codificación Unicode? Consta de varios bytes.

¿Qué es la codificación Unicode? Consta de varios bytes.

El código uniforme (código uniforme, código universal, código único) es una codificación de caracteres utilizada por las computadoras. Establece un código binario unificado y único para cada carácter en cada idioma para cumplir con los requisitos de conversión y procesamiento de texto entre idiomas y plataformas. La investigación y el desarrollo comenzaron en 1990 y se anunciaron oficialmente en 1994. Unicode ha ganado popularidad en la última década a medida que las computadoras se han vuelto más poderosas.

La última versión de Unicode en junio de 2006 fue Unicode 4.1.0, que se lanzó el 31 de marzo de 2005. Además, en febrero de 2005, 65438 lanzó la versión beta 5.0 para que los miembros la evaluaran.

Codificación e implementación Unicode

En términos generales, el sistema de codificación Unicode se puede dividir en dos niveles: modo de codificación y modo de implementación.

1. Modo de codificación

El método de codificación de Unicode corresponde al concepto de Conjunto de Caracteres Universal (UCS) en ISO 10646. La versión práctica actual de Unicode corresponde a UCS-2, que utiliza un espacio de codificación de 16 bits. Es decir, cada carácter ocupa 2 bytes. Teóricamente, un * * * puede representar hasta 216 caracteres. Básicamente satisface las necesidades de varios idiomas. De hecho, la versión actual de Unicode aún no ha completado la codificación de 16 bits, dejando mucho espacio para usos especiales o futuras extensiones.

Los 16 caracteres Unicode anteriores constituyen un plano multilingüe básico (BMP). La versión más reciente (pero no ampliamente utilizada) de Unicode define 16 planos auxiliares, que juntos requieren al menos 21 bits de espacio de codificación, un poco menos de 3 bytes. Pero, de hecho, los caracteres del plano auxiliar todavía ocupan 4 bytes de espacio de codificación, lo que es coherente con UCS-4. Las versiones futuras se ampliarán al nivel 3 de implementación de ISO 10646-1, que cubre todos los caracteres de UCS-4. UCS-4 es un conjunto de caracteres más grande, 31 bits, que aún no está completamente poblado, y el primer bit siempre es 0, * * * necesita ocupar 32 bits, que son 4 bytes. En teoría, puede representar hasta 231 caracteres, lo que puede cubrir completamente los símbolos utilizados en todos los idiomas.

La codificación Unicode de caracteres BMP se representa como U hhhh, donde cada h representa un dígito hexadecimal. Exactamente igual que la codificación UCS-2. Después de corresponder a la codificación UCS-4 de 4 bytes, los dos bytes son iguales y los bits de los dos primeros bytes son todos 0.

2. Modo de implementación

La implementación de Unicode es diferente de la codificación. Se determina la codificación Unicode del carácter. Sin embargo, en el proceso de transmisión real, debido a que los diseños de diferentes plataformas del sistema no son necesariamente consistentes y con el fin de ahorrar espacio, la implementación de la codificación Unicode también es diferente. La implementación de Unicode se llama formato de traducción Unicode (UTF).

Por ejemplo, si un archivo Unicode contiene sólo caracteres ASCII básicos de 7 bits, si cada carácter se transmite utilizando 2 bytes de la codificación Unicode original, los 8 bits del primer byte siempre serán 0. Esto genera un enorme desperdicio. En este caso, puede utilizar la codificación UTF-8, que es una codificación de longitud variable que todavía utiliza una codificación de 7 bits para representar el carácter ASCII básico de 7 bits, ocupando un byte (el primer bit se rellena con 0). Cuando se mezcla con otros caracteres Unicode, se convertirá de acuerdo con un algoritmo determinado. Cada carácter está codificado con 1 a 3 bytes, siendo el primer bit 0 o 1 para identificación. Esto ahorra en gran medida la longitud de codificación de los documentos occidentales con caracteres ASCII de 7 bits (consulte UTF-8 para soluciones específicas). De manera similar, UTF-16, que requerirá 4 bytes de caracteres del plano auxiliar y otros caracteres extendidos UCS-4 en el futuro, también debe convertirse mediante un determinado algoritmo.

Para otro ejemplo, si usa directamente la codificación UTF-16 que es consistente con la codificación Unicode (solo caracteres BMP), entonces la comprensión del orden de bytes en computadoras y PC Acintosh es inconsistente, porque cada dirección necesita agregar papel. En este punto, el mismo flujo de bytes puede interpretarse como contenido diferente; por ejemplo, el carácter "Kui" codificado como U 594E puede confundirse con el carácter "B" codificado como U 4E59. Por lo tanto, los conceptos de Big Endian y Little Endian y BOM (Byte Order Mark) se utilizan en la implementación de codificación UTF-16. (Consulte UTF-16 para soluciones específicas).

Además, las implementaciones Unicode también incluyen UTF-7, Punycode, CESU-8, SCSU, UTF-32, etc. Algunas de estas implementaciones solo se utilizan en determinados países y regiones, y otras son métodos de planificación futura. Los métodos de implementación más utilizados actualmente incluyen el sufijo pequeño (BOM) UTF-16, el sufijo grande (BOM) UTF-16 y UTF-8. En el Bloc de notas que viene con el sistema operativo Windows XP de Microsoft, los cuatro modos de codificación que se pueden seleccionar para el cuadro de diálogo Guardar como no son codificación ANSI. Los otros tres modos de codificación son Unicode, Unicode big endian y UTF-8.

El trabajo actual en el plano auxiliar se centra principalmente en los ideogramas unificados de China, Japón y Corea en el segundo y tercer plano, por lo que la atención se centra en Unicode e incluye chino simplificado, chino estándar, japonés, Caracteres coreanos y vietnamitas como GBK, GB18030, Big5 y otras coordinaciones de codificación diversas. Teniendo en cuenta que Unicode eventualmente cubrirá todos los caracteres, en cierto sentido, estas codificaciones también pueden considerarse como una implementación hecha consumada de Unicode anterior, al igual que ASCII y su extensión Latin-1, en el espacio de codificación Unicode de 16 bits El primer byte de los dos últimos caracteres es 0 y la codificación del segundo byte es exactamente la misma que la codificación original. Sin embargo, la correspondencia entre las codificaciones de idiomas de Asia Oriental mencionadas anteriormente y las codificaciones Unicode es mucho más complicada.

Entorno no Unicode

En un entorno no Unicode, debido a los conjuntos de caracteres inconsistentes utilizados por diferentes países y regiones, es probable que no todos los caracteres se puedan mostrar normalmente. Microsoft utiliza la tecnología de tabla de conversión Codepage para resolver este problema de manera transitoria, es decir, a través de una tabla de conversión específica, los códigos de caracteres no Unicode se convierten en códigos Unicode correspondientes a los mismos caracteres utilizados en el sistema. Puede seleccionar una página de códigos en "Configuración regional y de idioma" como codificación predeterminada para codificaciones que no son Unicode, por ejemplo, 936 es chino simplificado GBK y 950 es chino normal Big5 (ambos se usan en PC). En este caso, es probable que algunos programas y documentos escritos en idiomas europeos distintos del inglés estén confusos. Sin embargo, al configurar la página de códigos en el idioma correspondiente para el procesamiento en chino, inevitablemente surgirán problemas. Básicamente, la respuesta es la adopción total de la codificación unificada, pero eso no es posible actualmente.

La tecnología de páginas de códigos ahora es ampliamente adoptada por varias plataformas. La página de códigos de UTF-7 es 65000 y la página de códigos de UTF-8 es 65001.

XML y Unicode

XML y su subconjunto HTML utilizan UTF-8 como juego de caracteres estándar. En teoría, podemos mostrar páginas web de texto de cualquier región en varios navegadores que admitan estándares XML, siempre que la computadora esté equipada con las fuentes adecuadas. Puede utilizar nnn para mostrar caracteres específicos en un formato. Nnn representa el código Unicode decimal del carácter. Si usa códigos hexadecimales, simplemente agregue el carácter X antes del código. Sin embargo, es posible que algunos navegadores antiguos no reconozcan códigos hexadecimales.

Sin embargo, debido al desarrollo de las versiones Unicode, muchos navegadores sólo pueden mostrar el conjunto de caracteres completo UCS-2, una pequeña parte de la versión Unicode actualmente en uso.

Puede comprobar cómo su navegador muestra varios códigos Unicode en la siguiente tabla:

Nombres estándar para los caracteres de código que se muestran en los navegadores (inglés)

Letra latina mayúscula "A" A

¿Letras latinas minúsculas "Sharp's"?

¿Letra latina minúscula "Espina"?

δ Letra mayúscula griega "Delta" δ

Letra cirílica mayúscula "I corta"

Letra hebrea "Qof"?

¿La letra árabe "Meem"?

¿El número 7 tailandés?

¿La sílaba etíope “Qha”?

Hiragana japonés "a"

ビKatakana japonés "a"ビ

叶carácter simplificado "叶"

Caracteres chinos tradicionales " Ye" Ye

¿La palabra en sílaba coreana "Yeob"?

Ingreso Unicode

Además de los métodos de entrada, el sistema operativo también proporciona varias formas de ingresar Unicode. Por ejemplo, los sistemas Windows posteriores a Windows 2000 proporcionan una tabla en la que se puede hacer clic. Por ejemplo, en Microsoft Word, mantenga presionada la tecla Alt, ingrese 0 y el código Unicode (decimal) de un carácter y luego suelte la tecla Alt para obtener ese carácter. Por ejemplo, Alt 033865 obtendrá la hoja del carácter Unicode. Además, al presionar Alt X, MS Word también convertirá el carácter delante del cursor usando codificación Unicode hexadecimal de cuatro dígitos.

Tabla de codificación Unicode

0000-0 fff 8000-8 fff 10000-10 fff 20000-20 fff 28000-28 fff

1000-1 fff 9000- 9 fff 21000-21 fff 29000-29 fff

AFFF 22000-22 fff 2a 000-2 fff

3000-3 francos B000-BFFF 23000-23 francos

4000-4 fff C000-CFFF 1d 000-1 dfff 24000-24 fff 2f 000-2 ffff

DFFF 25000-25 francos

EFFF 26000-26FFF

7000-7 fff F000-FFFF 27000-27 fff e 0000-E0 fff

Unicode actualmente tiene la versión 5.0. Hay una gran cantidad de científicos informáticos, lingüistas y otros científicos en todo el mundo que se especializan en Unicode. Hasta ahora, el estándar Unicode no es solo un estándar de codificación, sino también una enorme base de datos que registra el lenguaje y los materiales humanos, y también se dedica a la excavación y protección del patrimonio cultural humano.

Para chino, el código Unicode 16 ya contiene todos los caracteres chinos en GB18030 (27484 palabras). El estándar Unicode actual es poner todos los caracteres chinos del Diccionario Kangxi en códigos Unicode de 32 bits.

En pocas palabras, Unicode se extiende desde el conjunto de caracteres ASCII. En ASCII estricto, cada carácter está representado por 7 bits, o cada carácter comúnmente utilizado en las computadoras tiene 8 bits de ancho; Unicode utiliza el conjunto completo de caracteres de 16 bits. Esto permite a Unicode representar caracteres, jeroglíficos y otros símbolos que pueden usarse para la comunicación por computadora en todos los idiomas escritos del mundo. Originalmente, Unicode estaba destinado a complementar ASCII y, si era posible, eventualmente reemplazarlo. Teniendo en cuenta que ASCII es el estándar más dominante en las computadoras, este es de hecho un objetivo elevado.

Unicode afecta a todos los sectores de la industria informática, pero su impacto puede ser mayor en los sistemas operativos y los lenguajes de programación.

En este sentido, estamos avanzando. Windows NT admite Unicode de abajo hacia arriba (desafortunadamente, sólo una pequeña parte de Windows 98 admite Unicode). El lenguaje de programación C, que está inherentemente vinculado a ANSI, admite Unicode al admitir conjuntos de caracteres amplios.

Naturalmente, como programadores, normalmente nos enfrentamos a mucho trabajo pesado. Intenté aligerar la carga haciendo que todos los programas de este libro sean "Unicode". A medida que este capítulo analice Unicode, su significado quedará claro.

上篇: Cuando abrí el software de la tienda de aplicaciones hoy, se me pidió que enviara un código de verificación por mensaje de texto a mi teléfono. Nunca sucedió antes. ¿Cómo desactivar esta función? 下篇: ¡La construcción al comienzo del modismo puede ser cualquier homofonía! ! Usar un perro para atrapar un ratón es una metáfora de actuar al aire libre o ser entrometido. Lo mismo que "un perro toma un ratón". Los ladrones de perros y ratas aman a las ratas y a los perros. No se puede comparar con los rebeldes climáticos. Los cerebros de perro y de rata son como esclavos. Los ladrones de perros y ratas aman a las ratas y a los perros. No se puede comparar con los rebeldes climáticos. Es lo mismo que "el perro roba, el ratón roba". La zanja está llena y plana, lo que significa llena. La zanja está llena de Hao Pinghao: foso. La descripción llena todos los vacíos. Es interesante describir algo que tiene gran atractivo o disuasión. La intriga originalmente se refiere a la estructura escalonada y exquisita del palacio. Esto último es una metáfora de las agotadoras intrigas y luchas abierta y secretamente. La brecha entre el anzuelo y la pluma es demasiado grande para compararla. Gancho profundo y oculto: gancho: cuerda: exploración. Profundiza y descubre los secretos. Se refiere a profundizar en conocimientos profundos y explorar cosas ocultas. El anzuelo es profundo y lejano: provocando. Explora las profundidades y deja que la distancia llegue. Las metáforas exploran verdades profundas. Intriga: el centro del palacio; ángulo: el ángulo de la cornisa. Originalmente se refiere a la arquitectura palaciega bien proporcionada y la estructura exquisita. Esto último es una metáfora de las agotadoras intrigas y luchas abierta y secretamente. Gancho gancho abstracto: exploración; misterio: mención implícita: cita; punto principal: esquema. Descubre las sutilezas y extrae los contornos. Elementos del gancho Gancho abstracto: Explorar Mención: Cita Puntos: Esquema; Descubre las sutilezas y extrae los contornos. El grito de la perdiz. Gancho capítulo espina oración gancho: doblar; capítulo: columna vertebral: espina oración: oración; Palabras que describen dificultad. Los ganchos y las garras se refieren a las garras y dientes afilados de aves y animales. Una metáfora de la crueldad humana. También es una metáfora de un ejército armado. Enganchar profundo y profundo significa explorar y aprovechar al máximo los significados y verdades profundos. Profundizar y alejarse se refiere a luchar contra conspiraciones disidentes distantes. Conozca los misteriosos consejos de caza, explore las sutilezas y encuentre los misterios. Enganche elementos para descubrir secretos, explorar sutilezas y descubrir misterios. Un atisbo de paz: vivir en una existencia innoble por el momento; un rincón: un rincón. Se refiere a un lugar pequeño. Roba la seguridad en lugares pequeños temporalmente. Se refiere a un gobernante que no resiste la agresión extranjera. Ocupa un lugar pequeño y roba al guardia de seguridad. Concubina: concubina; complacer, complacer. Por favor atiende y complace a los demás. Tómatelo con calma: simplemente sal del paso; mantente seguro: solo busca consuelo inmediato. Sólo nos preocupamos por la comodidad del presente, sin importar el futuro. Vivir una vida innoble: vivir una vida miserable; vivir una vida miserable. Simplemente arreglárselas y arreglárselas. Si vives tu vida: Si vives, esperemos. Salva tu vida. El corazón que no puedes superar: puedes salir adelante. Salgo del paso y sólo pienso en el presente. También se refiere a la idea de hacer algo indebido. Generalmente se refiere a la relación entre hombres y mujeres. Permanecer: temporalmente, de mala gana; extender: continuar; permanecer aliento: el aliento antes de la muerte. De mala gana, continúa respirando antes de morir. Una metáfora de apenas sobrevivir por el momento. persistir: persistente; aliento residual: el aliento restante antes de la muerte. Apenas sobreviviendo.