¿Qué es UNICODE?
Unicode es un esquema de codificación de caracteres desarrollado por una organización internacional que puede acomodar todos los textos y símbolos del mundo. Unicode utiliza los números 0-0x10FFFF para asignar estos caracteres, que pueden contener hasta 1114112 caracteres o 1114112 puntos de código. Un punto de código es un número que se puede asignar a un carácter. UTF-8, UTF-16 y UTF-32 son esquemas de codificación para convertir números en datos de programa.
El juego de caracteres Unicode se puede abreviar como UCS (Juego de caracteres Unicode). Los primeros estándares Unicode se denominaron UCS-2 y UCS-4. UCS-2 está codificado con dos bytes y UCS-4 está codificado con 4 bytes. UCS-4 se divide en 2^7=128 grupos según el byte más alto, siendo el bit más alto 0. Cada grupo se divide en 256 planos según el siguiente byte más alto. Cada plano se divide en 256 filas según el tercer byte, y cada fila tiene 256 puntos de código (celdas). El plano 0 del grupo 0 se denomina BMP (Plano multilingüe básico). UCS-2 se obtiene eliminando los dos primeros bytes cero del BMP de UCS-4.
Cada plano tiene 2^16=65536 puntos de código. El proyecto Unicode utiliza 17 planos, con un total de 17*65536=1114112 puntos de código. En la versión Unicode 5.0.0, solo hay 238605 puntos de código definidos, distribuidos en el plano 0, plano 1, plano 2, plano 14, plano 15 y plano 16. Entre ellos, el plano 15 y el plano 16 solo definen dos áreas privadas (Área de uso privado), cada una de las cuales ocupa 65534 puntos de código, que son 0xF0000-0xFFFFD y 0x100000-0x10FFFD respectivamente. La llamada área dedicada es un área reservada para que todos puedan poner caracteres personalizados, que pueden abreviarse como PUA.
El plano 0 también tiene un área dedicada: 0xE000-0xF8FF, con 6400 puntos de código. El 0xD800-0xDFFF del plano 0, con un máximo de 2048 puntos de código, es un área especial llamada Surrogate. El propósito del área de proxy es utilizar dos caracteres UTF-16 para representar caracteres distintos de BMP. Se introducirá al introducir la codificación UTF-16.
Como se mencionó anteriormente, en la versión Unicode 5.0.0, 238605-65534*2-6400-2408=99089. Los 99089 puntos de código definidos restantes se distribuyen en el plano 0, el plano 1, el plano 2 y el plano 14. Corresponden a los 99089 caracteres actualmente definidos por Unicode, incluidos 71226 caracteres chinos. Hay 52080, 3419, 43253 y 337 caracteres definidos en el plano 0, plano 1, plano 2 y plano 14 respectivamente. Los 43253 caracteres del Plano 2 son todos caracteres chinos. Hay 27973 caracteres chinos definidos en el plano 0.