Tabla de codificación de caracteres chinos
Codificación GB2312: el estándar nacional para la codificación de caracteres chinos simplificados publicado el 1 de mayo de 1981. GB2312 utiliza codificación de doble byte para caracteres chinos y contiene 7445 caracteres gráficos, incluidos 6763 caracteres chinos.
Codificación BIG5: conjunto de caracteres estándar del chino tradicional de Taiwán, que utiliza codificación de doble byte y contiene 13053 caracteres chinos, implementado en 1984.
Codificación GBK: el estándar nacional para la codificación de caracteres chinos lanzado en diciembre de 1995 es una expansión de la codificación GB2312 y utiliza codificación de doble byte para los caracteres chinos. El juego de caracteres GBK contiene 21.003 caracteres chinos, incluidos todos los caracteres chinos, japoneses y coreanos del estándar nacional GB13000-1, y todos los caracteres chinos de la codificación BIG5.
Codificación GB18030: el estándar nacional para la codificación de caracteres chinos publicado el 17 de marzo de 2000 es una expansión de la codificación GBK, que cubre escrituras chinas, japonesas, coreanas y minoritarias chinas, incluidos 27.484 caracteres chinos. El juego de caracteres GB18030 utiliza tres métodos de byte único, byte doble y cuatro bytes para codificar caracteres. Compatible con juegos de caracteres GBK y GB2312.
Codificación Unicode: un conjunto de caracteres estándar internacional, que define una codificación única para cada carácter en varios idiomas del mundo para cumplir con la conversión de información de texto entre idiomas y plataformas.
La codificación GB2312 es el primer estándar nacional para la codificación de caracteres chinos. Fue publicado por la Administración Estatal de Estándares de China en 1980 y entró en uso el 1 de mayo de 1981. La codificación GB2312 contiene 6763 caracteres chinos, incluidos 3755 caracteres chinos de primer nivel y 3008 caracteres chinos de segundo nivel. Al mismo tiempo, la codificación GB2312 incluye 682 caracteres de ancho completo, incluidas letras latinas, letras griegas, letras japonesas hiragana y katakana y letras cirílicas rusas.
Representación de partición
La codificación GB2312 realiza un procesamiento de "partición" en los caracteres recopilados. Hay 94 áreas, cada área contiene 94 bits y 8836 puntos de código. Esta representación también se llama código de ubicación.
El área 01-09 contiene 682 caracteres excepto los caracteres chinos.
Las áreas 10-15 son áreas en blanco y no se utilizan.
Las áreas 16-55 contienen 3755 caracteres chinos de primer nivel, ordenados por pinyin.
Las áreas 56-87 contienen 3008 caracteres chinos de segundo nivel, ordenados por radical/trazo.
Las áreas 88-94 son áreas en blanco y no se utilizan.
Por ejemplo, la palabra "ah" es el primer carácter chino en la codificación GB2312. Se encuentra en la posición 01 del área 16, por lo que su código de área es 1601.
Codificación de doble byte
GB2312 estipula que cada carácter incluido está representado por dos bytes. El primer byte es el "byte alto", correspondiente a 94 áreas. "byte bajo", correspondiente a 94 bits. Entonces su rango de código de ubicación es: 0101-9494. El código de área y el número de bit más 0xA0 son la codificación GB2312. Por ejemplo, el último punto de código es 9494 y el código de área y el número de bit se convierten a hexadecimal 5E5E, 0x5E 0xA0 = 0xFE, por lo que la codificación GB2312 de este punto de código es FEFE.
Rango de codificación GB2312: A1A1-FEFE, donde el rango de codificación de caracteres chinos es B0A1-F7FE, el primer byte es 0xB0-0xF7 (correspondiente al código de área: 16-87), el segundo byte es 0xA1-0xFE (número de bit correspondiente: 01-94).
/zh/hanzi-gb2312-bianma.php (tabla de codificación GB2312)
/bianma/zifuji.php (convertido a utf8)
HZK12'16x12 ? La matriz de puntos de los caracteres chinos en la dinastía Song es de 24 bytes.
HZK14'16x14? La matriz de puntos de los caracteres chinos en la dinastía Song es de 28 bytes.
HZK16'16x16? La matriz de puntos de los caracteres chinos en la dinastía Song es de 32 bytes.
HZK16F?'16x16?Matriz de puntos de caracteres chinos de la dinastía Song tradicional, un carácter chino de 32 bytes
HZK24F?'24x24?Canción de imitación Matriz de puntos de impresión de caracteres chinos, un carácter chino de 72 bytes
HZK24H?'24x24?Matriz de puntos de impresión de caracteres chinos en negrita Un carácter chino de 72 bytes
HZK24K?'24x24?Los caracteres chinos normales imprimen uno Carácter chino 72Byte
HZK24S?'24x24?Los caracteres chinos estilo Song imprimen un carácter chino 72Byte
HZK24T?'24x24?El símbolo de la dinastía Song imprime una matriz de puntos de un símbolo 72Byte
HZK40S?'40x40?La matriz de puntos de caracteres chinos de la dinastía Song imprime un carácter chino de 200 bytes
HZK40T?'40x40?La matriz de puntos de símbolos de la dinastía Song imprime un símbolo de 200 bytes
HZK48S?'48x48?La matriz de puntos de caracteres chinos de la dinastía Song es de 288 bytes
Fuente de matriz de puntos estándar GB2312 de 16×16
Los caracteres chinos de 16×16 en el HZK16 La fuente requiere 256 puntos para mostrarse, lo que significa que se necesitan 32 bytes para mostrar un carácter chino normal.
Un carácter chino ocupa dos bytes. El primer byte es el código de área del carácter chino y el último byte es el número de bit del carácter. Entre ellos, cada área registra 94 caracteres chinos y el número de bit es la posición del carácter en el área. Por lo tanto, para encontrar la ubicación de un carácter chino en la biblioteca hzk16, debe obtener su código de área y código de bits.
Código de área: el primer byte de caracteres chinos: 0xA0 (debido a que la codificación de caracteres chinos comienza desde el área 0xA0, el frente del archivo comienza desde el área 0xA0 y es necesario calcular el código de área relativo )
Código de bits: el segundo byte de los caracteres chinos - 0xA0
De esta manera, podemos obtener la posición de desplazamiento absoluta de los caracteres chinos en HZK16:
offset=(94*( Código de área-1) (código de bits-1))*32
Nota:
El código de área se reduce en 1 porque la matriz comienza con 0 y el número del código de área comienza con 1 El comienzo
(94*(código de área-1) número de bit-1) es el número de bytes ocupados por una fuente de caracteres chinos
El último la multiplicación por 32 se debe a que el texto de la biblioteca de caracteres chinos debe comenzar desde esta posición. Los 32 bytes de información registran la información de fuente de la palabra (se mencionó anteriormente que un carácter chino necesita 32 bytes para mostrarse)
Si tiene UCDOS HZK24S (estilo canción), HZK24K (estilo cursiva) o HZK24H (negrita), también puede utilizar fuentes grandes en diferentes fuentes para caracteres chinos. La serie HZK24 es una fuente de matriz de puntos de 24*24 y cada fuente ocupa 3*24 bytes. Si sigues el método de visualización de HZK16, verás... jeje, las palabras están escritas. Esto se debe a que este tipo de biblioteca de fuentes es diferente de las bibliotecas de caracteres chinos comunes. Este tipo de biblioteca de caracteres chinos de fuentes grandes está especialmente diseñada para imprimir, las fuentes están al revés cuando las usa. Es necesario rotar la información de bits de las fuentes vertical y horizontalmente. Simplemente configure la visualización.
Por ejemplo, si lo define como mat[24][3], debería generarse así:
for(i=0; ilt; 24; i)
for(i=0; ilt; 24; i)
for (j=0; jlt ;24;j)
if((0x80gt;gt;i8)amp;mat[j][i/8]) /*Transponer visualización*/
putpixel(j x , y i, color);
También existe un tipo de fuente HZK12. Aunque es un tipo de fuente estándar, si calcula su fuente como 12*12 bits, no lo será. capaz de mostrar caracteres chinos normalmente. Porque para facilitar el uso, el diseñador de fuentes ha agregado el número de dígitos en cada línea de la fuente a un múltiplo entero de 8, por lo que la longitud real de bits de la fuente es 16 * 12, aunque hay 4 dígitos más en cada una. línea, estos 4 Los bits son todos 0 (sin visualización), lo que no afecta el efecto de visualización.