/ / HZEncode.cpp: Définit le point d'entrée pour l'application console.
/ /
/ *
Références:
codage des caractères chinois et de la représentation
1) Le code de change de caractère (GB Code) code de la bourse chinoise (code GB) est principalement utilisé pour l'échange d'informations de caractère.
GB Code: Le Bureau national de normes publiées en 1980, "L'échange d'informations avec le caractère chinois codés" set de base "(nom de code GB2312 80) prévue pour le code de change comme un caractère national chinois standard de codage.GB2312 80 symboles total de 7445 caractères: un symbole de caractères chinois 6763 3755 (en ordre alphabétique par pinyin) deux caractères 3008 (par ordre alphabétique par les radicaux) symboles non-caractère 682 GB2312 80 prévoit que tous lescaractères du code GB chinois et des symboles pour former un carré 94 94.Dans cette matrice, chaque ligne est appelée une «zone», chaque colonne est appelée «un peu».Cette matrice est en fait composé d'une zone 94 (numéros 01-94), chaque district dispose de 94 bits (numéros 01 à 94) du jeu de caractères chinois.Une position de caractère où l'indicatif régional et le numéro de combinaisons pour former les caractères chinois de "l'indicatif régional."Parmi eux, deux du code de haute et basse pour le numéro deux bits.Ce code régional ne peut identifier de manière unique un caractère particulier ou de caractères, au contraire, un caractère ou un symbole correspond à un code de zone unique, il n'ya pas de re-code.
Indicatif régional répartis comme suit:
Le contenu d'un code de zone de différents symboles sur le clavier n'est pas tout Zone 2 Zone 3 numéro de série de symboles sur le clavier (proposée par la voie chinoise) 4-5 District 6 District, l'alphabet alphabet japonais alphabet russe grecques 7 District 8 Districtidentifier les voyelles et les tons alphabet phonétique le nom de symboles onglet Zone 10 au 15 septembre avec une zone de 16-55 au niveau du district n'est pas de caractères (en pinyin ordre alphabétique) de 56 à 87 zone de deux caractères (en ordre alphabétique, radicaux) 88- 94 zone de caractères personnalisés
De ce qui précède, nous pouvons voir que tous les caractères chinois et des symboles des 94 zones peuvent être divisés en quatre groupes:
① 1 -15 zone: une zone de symbole graphique.Dont 19 zones comme la zone des icônes standard; 10 15 zone de la surface pour le symbole personnalisé.
② 16 -55 zone: une zone à caractère distinctif, y compris les 3755 caractères chinois.Personnage de ces zones en ordre alphabétique, les homonymes sont énumérés par ordre de course.
③ 56 -87 zone: zone pour les deux caractères chinois, contient 3.008 caractères chinois.Le caractère de ces domaines est l'ordre de tri par un AVC radical.
④ 88 -94 zone: la zone de caractères personnalisés.
GB Code prévoit que tous les personnages (y compris un symbole non-caractère) exprimé par un code de 2 octets.Le bit le plus élevé de chaque octet est 0, utilisez uniquement les 7 bits de poids faible, tandis que le bas de codage 7-bit de 34 ans ont utilisé pour le contrôle, de sorte que chaque octet est seulement de 27 à 34 = 94 codes pour les caractères chinois.2 octets = 8836 9494 ont codage de caractères.Said, un caractère chinois sur 2 octets, haute de byte code correspondant au numéro de ligne dans le tableau, appelé le code régional; faible byte-code correspondant au numéro de colonne dans la table, appelé nombre de bits.
Le champ d'application de la norme nationale chinoise code en binaire est: 0.010.000.100.100.001 0.111.111.001.111.110 (1 +32) 10 (1 +32) 10 (94 +32) 10 (94 +32) 10 code 7-bit ASCII est composé de 128 caractères.Qui code la valeur de 031 (0,000,000,000,011,111) ne correspond pas à tous les caractères d'impression, souvent désigné comme caractères de contrôle, utilisé dans les communications informatiques ou du matériel informatique, la fonction de contrôle de communication de contrôle.Code valeur 32 (00100000) est le caractère espace SP.Code valeur 127 (1111111) est de supprimer les caractères DEL.
Nationale chinoise code binaire standard de la position de départ de choix est 00100001 (33) 10 est le code ASCII pour sauter les 32 caractères de contrôle et de caractères d'espacement.Par conséquent, les Chinois code national standard de haute et basse, respectivement, par rapport à l'indicatif de zone correspondant Grand (32) 10 (00,1 millions) 2 ou (20) H, à savoir: le code de la norme nationale du code de haute = aire + 20H (hexadécimal H) GBcode code-bit + 20H = faible
2) code machine chinoise (le code) (aires de stockage chinois)
code machine chinoise (le code) (caractères chinois stockées code) est d'unifier les différentes représentation de la Chine code de caractère d'entrée à l'intérieur de l'ordinateur.Afin d'entrer le code dans une variété de caractères dans l'ordinateur unifié, il ya un magasin dédié aux personnages à l'intérieur du code machine ordinateur en utilisant les caractères à l'aide d'une variété d'entrée de code de caractères d'entrée chinois unifié en code machine pour les caractères chinoisde stockage, pour faciliter le traitement des caractères chinois dans le code machine est en stockage informatique, de traitement de code.Ordinateur, il est nécessaire de traiter avec des caractères chinois, sont aux prises avec les Anglais.Par conséquent, l'ordinateur doit être capable de distinguer entre les personnages et des caractères chinois en anglais.caractères anglais du code machine est la plus élevée pour le code 8-bit ASCII 0.Afin de ne pas le code ASCII 7-bit avec le conflit, le code national type pour chaque octet de la plus haute bits 0 à 1, et les bits restants sont restés inchangés dans le code machine de codage des caractères chinois.
code machine chinoise de la gamme en binaire est: 1.010.000.110.100.001 1.111.111.011.111.110 code machine des hauts et des bas que le code correspondant norme nationale de haute et basse de grande taille (128) 10 (10000000) 2 ou (80) H, à savoir: la machinecode code = haute Go code machine haute + 80H faible = code GB low + 80H et aussi parce que: Code GB haute indicatif régional + = 20H faible code GB code bit = + 20H alors: code code machine haute région = + machine A0Hcode binaire du code de bas + A0H = qui est, le code machine de code de haute et basse, respectivement, par rapport à l'indicatif régional et le code correspondant grand emplacement (160) 10 (10,1 millions) 2 ou (A0) Exemple H: le caractère chinois "ah"Le code région est" 1601 ", dans lequel le code région est (16) 10 (10) H, le code-bit (01) 10 (01) H.code machine haute = 10H + A0H = code machine B0H faible = 01H + = A0H A1H alors:: Puis machine code = B0A1H
Ce qui suit est cité fragment:
!--[ If SupportEmptyParas] - !--[ endif] -
3) Le code d'entrée de caractères (code externe)
Chinois code d'entrée de caractères (code externe) est un personnage à l'entrée de caractère grâce à un clavier conçu un code informatique.une entrée en anglais, ce personnage serait phase d'entrée sur quelle touche, entrer le même code et le code machine.saisie des caractères chinois peuvent être entrée en fonction de quelques personnages clés.Il ya des centaines de programme de caractère d'entrée chinois, mais ils varient de l'entrée extérieure dans le code informatique sera converti en un tout unifié dans le code.Programme de saisie des caractères chinois peuvent être divisés en 4 types:
(1) code de tonalité: Si l'orthographe, Larry, le Pinyin Microsoft
(2) Shape-code: Si cinq coups, Zheng-code, code-forme, etc
(3) codes peut sonner: comme ABC à puce, codes naturels
(4) code numérique: Si le code régional codes télégraphiques,
4) Le code glyphe d'un caractère (code de sortie)
Code des caractères chinois (les codes de sortie) pour l'affichage et l'impression des caractères chinois, est l'information numérique des caractères chinois.caractères chinois dans le code est un code numérique pour représenter les caractères, mais la sortie afin de permettre aux gens de voir les caractères chinois, police de caractères chinois à la sortie.Dans le système chinois, la matrice générale pour représenter la forme.16 * 16 caractères à matrice de points indiquent 16 conf bin configuration de sauvegarde des données eshow_sitemap.html maint generate.sh svn log tmp sitemap.html 16 forme treillis du mot à utiliser 32 octets (16 conf bin configuration de sauvegarde des données eshow_sitemap.html générer.sh log maint tmp svn sitemap.html 16 / 8 = 32) de mémoire, 24 conf bin configuration de sauvegarde des données eshow_sitemap.html maint generate.sh svn log tmp sitemap.html 24 forme treillis du mot à utiliser 72 octets (24 de sauvegardeconf bin config données eshow_sitemap.html maint generate.sh svn log tmp sitemap.html 24 / 8 = 72) de stockage.
En général, la performance des caractères chinois en utilisant le réseau est plus grand, meilleure est la qualité des caractères chinois, bien sûr, chaque personnage à matrice de points, plus la quantité de stockage nécessaire.
5) Le code d'adresse caractère
Personnage code d'adresse est la bibliothèque de caractères chinois (se réfère principalement à la forme entière de la dot bibliothèque de polices matrice) stockés dans les informations d'adresse logique des caractères chinois.Dans la bibliothèque de caractères chinois, l'information de forme est un certain ordre (la plupart des codes de change chinois, conformément à l'ordre normalisé des caractères chinois) en permanence stockés dans les supports de stockage, si les personnages sont pour la plupart de code d'adresse est un processus continu et ordonné, et avec les caractères de lacode a une relation simple entre, pour simplifier les caractères chinois dans le code à l'adresse de conversion de code.
Ce qui suit est cité fragment:
* /
!--[ If SupportEmptyParas] - !--[ endif] -
# Include "stdafx.h"
# Include "HZEncode.h"
!--[ If SupportEmptyParas] - !--[ endif] -
# Ifdef _DEBUG
# Définir DEBUG_NEW nouvelles
# THIS_FILE Undef
static char THIS_FILE [] = __FILE__;
# Endif
# Définir UNICODE
# Définir _UNICODE
/////////////////////////////////////////////////////////////////////////////
/ / Le seul et unique objet application
!--[ If SupportEmptyParas] - !--[ endif] -
theApp CWinApp;
!--[ If SupportEmptyParas] - !--[ endif] -
using namespace std;
unsigned short * ptr;
pszHZ char * = «ah»;
byte bt [] = {0xC4, 0xE3, 0xBA, 0xC3 };//" Bonjour "le code machine
_tmain int (int argc, TCHAR * argv [], TCHAR * envp [])
{
nRetCode int = 0;
!--[ If SupportEmptyParas] - !--[ endif] -
/ / Initialisation de MFC et d'impression et d'erreur en cas d'échec
if (AfxWinInit (:: GetModuleHandle (NULL), NULL,:: GetCommandLine (), 0))
{
/ / TODO: code d'erreur modifier selon vos besoins
cerr _T ("Erreur fatale: initialisation MFC a échoué") endl;
nRetCode = 1;
}
d'autre
{
for (int i = 16; i = 55; i + +)
{
octet Temp [3];
Temp [2] = 0;
Temp [0] = i + 0xA0;
for (int j = 1; j 94; j + +)
{
Temp [1] = j + 0xA0;
cout (LPCTSTR) Temp;
}
Cout endl;
}
!--[ If SupportEmptyParas] - !--[ endif] -
}
!--[ If SupportEmptyParas] - !--[ endif] -
system ("pause");
retour nRetCode;
}
!--[ If SupportEmptyParas] - !--[ endif] -
!--[ If SupportEmptyParas] - !--[ endif] -