/ / HZEncode.cpp: Define el punto de partida para la aplicación de consola.
/ /
/ *
Referencias:
codificación de caracteres chinos y la representación
1) El código de cambio de carácter (GB Código) Código de cambio de China (código GB) se utiliza principalmente para el intercambio de información de carácter.
Código GB: La Oficina Nacional de Normas emitidas en 1980, "El intercambio de información con el carácter chino conjunto codificado" conjunto básico "(nombre en código GB2312 80) proporcionan el código de cambio como un estándar de codificación de caracteres nacionales chinos.GB2312 80 símbolos total de 7.445 caracteres: un símbolo del carácter chino 6763 3755 (en orden alfabético por pinyin), dos personajes de 3008 (por orden alfabético de los radicales) los símbolos no 682 caracteres GB2312 80 establece que todos losGB código de caracteres chinos y los símbolos para formar un cuadrado de 94 94.En esta matriz, cada fila se llama una "zona", cada columna se llama un "bit".Esta matriz se compone realmente de una zona de 94 (números 01-94), cada distrito tiene 94 bits (números 01-94) del conjunto de caracteres chinos.Una posición de carácter en el código de área y número de combinaciones para formar los caracteres chinos de "código de área."Entre ellos, dos de los código de alto y bajo para el número dos pedacitos.Este código de área puede identificar un determinado carácter o caracteres, al contrario, con cualquier carácter o símbolo que corresponde a un código de área única, no hay nuevo código.
El código de área distribuidos de la siguiente manera:
El contenido de un código de zona de varios símbolos en el teclado no es todo la Zona 2 Zona 3 el número de serie de símbolos en el teclado (dado por la manera china) 4-5 Distrito 6 del Distrito, el alfabeto japonés alfabeto griego alfabeto ruso 7 Distrito 8 Distritoidentificar las vocales del alfabeto fonético y los tonos con el nombre de los símbolos ficha Área 10 al 15 septiembre con un área de 16 a 55 a nivel de distrito no es el carácter (en orden alfabético Pinyin) 56-87 área de dos personajes (de los radicales por orden alfabético) 88- 94 zona de caracteres personalizados
De lo anterior podemos ver que todos los caracteres chinos y los símbolos de las 94 áreas se pueden dividir en cuatro grupos:
① 1 -15 zona: un área símbolo gráfico.De ellos, 19 áreas como el área símbolo estándar; 10 15 zona de área para el símbolo personalizado.
② 16 -55 zona: como un área de caracteres, incluidos los 3.755 caracteres chinos.Carácter de estas áreas en orden alfabético, homónimos se enumeran en orden por el movimiento.
③ 56 -87 zona: la zona de los dos caracteres chinos, contiene 3.008 caracteres chinos.El carácter de estas áreas es el criterio de ordenación por el movimiento radical.
④ 88 -94 zona: para la zona de caracteres personalizados.
GB Código establece que todos los personajes (incluyendo algún símbolo no de caracteres) indicará mediante un código byte 2.El bit más alto de cada byte es 0, use sólo el menor de 7 bits, mientras que la codificación de 7 bits más bajos de los 34 han utilizado para el control, de modo que cada byte es sólo el 27 - 34 = 94 códigos de caracteres chinos.2 bytes tienen 9.494 = 8.836 codificación de caracteres., Dijo un carácter chino en 2 bytes, el código byte alto correspondiente al número de línea en la tabla, llamado el código de área, código de bajo bytes correspondiente al número de columna de la tabla, llamado número de bit.
El ámbito de aplicación del código estándar nacional chino en binario es: 0.010.000.100.100.001 0.111.111.001.111.110 (1 +32) 10 (1 +32) 10 (94 +32) 10 (94 +32) 10 del código de caracteres ASCII de 7 bits se compone de 128 caracteres.Que codifica el valor de 031 (0,000,000,000,011,111) no se corresponde con los caracteres de impresión, a menudo se refiere como caracteres de control, utilizado en las comunicaciones por computadora o equipo de cómputo, la función de control de comunicación de control.valor de código 32 (00100000) es el carácter de espacio SP.valor de código 127 (1111111) es eliminar los caracteres SUPR.
Nacional chino código estándar binario de la posición inicial de elección es 00100001 (33) 10 es el código ASCII para saltar los 32 caracteres de control y caracteres de espacio.Por lo tanto, los chinos código nacional estándar de alta y baja, respectivamente, en comparación con el código de área extensa correspondiente (32) 10 (00,1 millones) 2 o (20) H, a saber: el código del código estándar nacional de alto = área + 20H (hexadecimal H) Ecódigo de código de bits + 20H = Bajo
2) El código máquina china (el código) (astilleros chinos de almacenamiento)
código de máquina china (el código) (caracteres chinos almacenados código) es unificar los distintos entrada de caracteres chinos representación del código dentro de la computadora.Con el fin de introducir el código en una variedad de personajes dentro del equipo unificado, es una tienda dedicada a los personajes dentro del código de máquina, ordenador con los personajes que de entrada usando una variedad de código de entrada de caracteres chinos unificado en código de máquina para los caracteres chinosalmacenamiento, para facilitar el procesamiento de caracteres chinos en el interior del código de la máquina está en la memoria interna, la transformación del código.Equipo es necesario para hacer frente a los caracteres chinos, tienen que lidiar con el Inglés.Por lo tanto, el equipo debe ser capaz de distinguir entre los caracteres chinos y los personajes Inglés.Inglés caracteres del código de máquina es la más alta del código ASCII de 8 bits 0.A fin de no al código ASCII de 7 bits con el conflicto, el código nacional estándar para cada byte de la más alta bits 0-1, y los bits restantes permanecen sin cambios en el código de la máquina de codificación de caracteres chinos.
código de máquina china de la gama en binario es: 1.010.000.110.100.001 1.111.111.011.111.110 código de máquina de los altos y bajos que el correspondiente código nacional estándar de alta y baja de gran tamaño (128) 10 (10 millones) 2 o (80) H, a saber: la máquinacódigo de alta código = GB de alta 80H + código de máquina bajo = GB baja + 80H, y también porque el código: código GB de alta = código de área + el código 20H bajo el código GB = poco + 20H así: Código = código de máquina de alta de área + máquina A0Hcódigo de código de bits de baja + A0H = es decir, el código máquina de alta y baja, respectivamente, el código, en comparación con el código de área correspondiente y el código de localización de gran tamaño (160) 10 (10,1 millones) 2 o (A0) Ejemplo H: el carácter chino "ah"El código es" 1601 ", en los que el código de área es (16) 10 (10) H, el código de bits (01) 10 (01) H.Entonces: máquina de alta código 10H = + = A0H código máquina B0H bajo = 01H + A0H = A1H así: código de máquina = B0A1H
A continuación se cita fragmento:
!--[ Si SupportEmptyParas] - !--[ endif] -
3) El código de entrada de caracteres (código externo)
código de entrada de caracteres chinos (código externo) es un personaje a la entrada de caracteres a través de un teclado diseñado un código de computadora.entrada de Inglés, lo que personaje fase de entrada en lo fundamental, introduzca el mismo código y el código máquina.la entrada de caracteres chinos puede ser ingresado de acuerdo con un personajes clave.Hay cientos de programas de introducción de caracteres chinos, sino que varían de la entrada externa en el código de computadora se convertirá en una única en el código.programa de introducción de caracteres chinos se pueden dividir en los siguientes cuatro tipos:
(1) Código de tono: Si la ortografía, Larry, el Microsoft Pinyin
(2) Forma de código: Si cinco golpes, el código de Zheng, la forma de código, etc
(3) códigos puede sonar: como inteligente ABC, los códigos naturales
(4) Código numérico: si el código de área, códigos de telégrafo
4) El código de glifos de caracteres (código de salida)
Carácter chino de código (códigos de salida) para la visualización e impresión de los caracteres chinos, es la información digital de los caracteres chinos.los caracteres chinos en el código es un código numérico para representar los caracteres, pero la salida con el fin de permitir a la gente para ver los caracteres chinos, fuente de caracteres chinos a la salida.En el sistema chino, la matriz general para representar la forma.16 * 16 caracteres de matriz de puntos indican 16 conf bin configuración de copia de seguridad de datos eshow_sitemap.html tmp generate.sh maint registro sitemap.html svn 16 forma de celosía de la palabra para utilizar 32 bytes (16 conf bin copia de seguridad de datos de configuración eshow_sitemap.html generar.SH registro tmp maint svn sitemap.html 16 / 8 = 32) de memoria, 24 conf bin configuración de copia de seguridad de datos eshow_sitemap.html tmp generate.sh maint registro sitemap.html svn 24 forma de celosía de la palabra para utilizar 72 bytes (24 copia de seguridadconf bin config datos eshow_sitemap.html tmp generate.sh maint registro sitemap.html svn 24 / 8 = 72) de almacenamiento.
En general, el desempeño de los caracteres chinos utilizando la red es más grande, mejor será la calidad de los caracteres chinos, por supuesto, cada personaje de matriz de puntos cuanto mayor sea la cantidad de almacenamiento necesario.
5) El código de dirección del carácter
Personaje código de la dirección es la colección de caracteres chinos (se refiere principalmente a la forma total de la biblioteca de fuentes de matriz de punto) almacenados en la información de la dirección lógica de los caracteres chinos.En la biblioteca de caracteres chinos, la información de la forma es un cierto orden (la mayoría de los códigos de cambio de China de conformidad con el orden estándar de los caracteres chinos) continuamente almacenados en soportes de almacenamiento, por lo que los personajes son en su mayoría dirección de código es un proceso continuo y ordenado, y con los personajes de lacódigo tiene una relación simple entre, para simplificar los caracteres chinos en el código para hacer frente a la conversión de código.
A continuación se cita fragmento:
* /
!--[ Si SupportEmptyParas] - !--[ endif] -
# Include "stdafx.h"
# Include "HZEncode.h"
!--[ Si SupportEmptyParas] - !--[ endif] -
# Ifdef _DEBUG
# Definir DEBUG_NEW nuevo
# Undef THIS_FILE
static char THIS_FILE [] = __FILE__;
# Endif
# Define UNICODE
# Definir _UNICODE
/////////////////////////////////////////////////////////////////////////////
/ / El único objeto de aplicación
!--[ Si SupportEmptyParas] - !--[ endif] -
CWinApp theApp;
!--[ Si SupportEmptyParas] - !--[ endif] -
using namespace std;
* ptr sin signo de corta distancia;
pszHZ char * = "a";
byte bt [] = {0xC4, 0xe3, 0xBA, 0xC3 };//" Hola "al código de máquina
_tmain int (int argc, TCHAR * argv [], TCHAR envp * [])
{
nRetCode int = 0;
!--[ Si SupportEmptyParas] - !--[ endif] -
/ / Inicializar MFC y de impresión y el error en caso de fallo
if (AfxWinInit (:: GetModuleHandle (NULL), NULL,:: GetCommandLine (), 0))
{
/ / TODO: código de error, cambia para adaptarse a sus necesidades
cerr _T ("Error fatal: inicialización MFC no") endl ;
nRetCode = 1;
}
más
{
for (int i = 16; i = 55; i + +)
{
byte Temp [3];
Temp [2] = 0;
Temp [0] = i + 0xA0;
for (int j = 1; i 94; j + +)
{
Temp [1] = j + 0xA0;
cout (LPCTSTR) Temp;
}
Cout endl;
}
!--[ Si SupportEmptyParas] - !--[ endif] -
}
!--[ Si SupportEmptyParas] - !--[ endif] -
sistema ("pause");
volver nRetCode;
}
!--[ Si SupportEmptyParas] - !--[ endif] -
!--[ Si SupportEmptyParas] - !--[ endif] -