/ / HZEncode.cpp: definisce il punto di ingresso per l'applicazione console.
/ /
/ *
Riferimenti:
la codifica dei caratteri cinesi e di rappresentanza
1) Il codice di scambio di carattere (GB Code) il codice di cambio cinese (codice GB) è utilizzato principalmente per lo scambio di informazioni di carattere.
GB Codice: il National Bureau of Standards rilasciato nel 1980, "Scambio di informazioni con il carattere cinese codificato set" di base "(nome in codice GB2312 80) previsto per il codice di scambio come un cittadino standard di codifica dei caratteri cinesi.GB2312 80 simboli totale di 7.445 caratteri: un simbolo di carattere cinese 6.763 3.755 (in ordine alfabetico per pinyin), due personaggi 3.008 (in ordine alfabetico dai radicali) i simboli non-personaggio 682 GB2312 80 prevede che tutte lecaratteri del codice GB cinesi e simboli per formare un quadrato 94 94.In questa matrice, ogni riga è chiamata "zona", ogni colonna è chiamato un "bit".Questa matrice è in realtà composto da una zona di 94 (numeri 01-94), ogni quartiere dispone di 94 bit (numeri 01-94) del set di caratteri cinesi.Una posizione del carattere in cui il prefisso e il numero di combinazioni per formare i caratteri cinesi di "prefisso".Tra questi, due del codice di alto e basso per il numero di bit due.Questo codice area può identificare in modo univoco un particolare carattere o caratteri, al contrario, qualsiasi carattere o simbolo corrisponde ad un prefisso unico, non vi è alcuna re-code.
Codice di zona distribuiti come segue:
I contenuti di un codice di zona di vari simboli sulla tastiera non è tutto Zona 2 Zona 3 il numero di serie di simboli sulla tastiera (dato dal modo in cinese) 4-5 Distretto 6 Quartiere, i giapponesi alfabeto alfabeto alfabeto russo greco 7 zona 8 zonaidentificare le vocali alfabeto fonetico e tonifica il nome di simboli sulla scheda Area 10-15 settembre con una zona di 16-55 a livello distrettuale, non è il carattere (in ordine alfabetico Pinyin) 56-87 area due caratteri (radicali in ordine alfabetico) 88- 94 carattere un'area personalizzata
Da quanto sopra possiamo vedere che tutti i caratteri cinesi e simboli delle 94 aree possono essere divise in quattro gruppi:
① 1 -15 zona: una zona simbolo grafico.Di cui 19 zone come l'area simbolo standard; 10 15 Area per il simbolo personalizzato.
② 16 -55 zona: come zona di carattere, tra cui il 3.755 caratteri cinesi.Personaggio di queste aree in ordine alfabetico, degli omonimi sono elencati in ordine di ictus.
③ 56 -87 zona: zona per i due caratteri cinesi, contiene 3.008 caratteri cinesi.Il carattere di queste zone è il tipo di ordinamento da ictus radicale.
④ 88 -94 zona: per l'area di carattere personalizzato.
GB Codice prevede che ogni personaggio (anche qualche simbolo non-personaggio) espresso da un codice a 2 byte.Il più alto bit di ogni byte è 0, utilizzare solo i 7 bit più bassi, mentre la codifica inferiore a 7 bit altri 34 utilizzati per il controllo, in modo che ogni byte è solo 27-34 = 94 codici per i caratteri cinesi.2 byte sono 9.494 = 8.836 codifica dei caratteri.Ha detto un carattere cinese in 2 byte, byte alto del codice corrispondente al numero di riga nella tabella, chiamata il prefisso, ma a basso codice byte corrispondente al numero di colonna della tabella, chiamata numero di bit.
Il campo di applicazione del codice nazionale cinese standard in binario è: 0.010.000.100.100.001 0.111.111.001.111.110 (1 +32) 10 (1 +32) 10 (94 +32) 10 (94 +32) 10 7-bit ASCII codice di carattere è composto da 128 caratteri.Che codifica il valore di 031 (0,000,000,000,011,111) non corrisponde ad alcun carattere di stampa, spesso indicato come caratteri di controllo, utilizzato nelle comunicazioni computer o attrezzature informatiche, di controllo delle funzioni di comunicazione di controllo.valore di Codice 32 (00100000) è lo spazio personaggio SP.valore di Codice 127 (1111111) è quello di rimuovere i caratteri CANC.
Nazionale cinese codice binario standard della posizione di partenza di scelta è 00.100.001 (33) 10 è il codice ASCII di saltare i 32 caratteri di controllo e di spazi.Pertanto, i cinesi codice nazionale standard di alta e bassa, rispettivamente, in confronto con il codice corrispondente superficie di grandi dimensioni (32) 10 o (00,1 milioni) 2 o (20) H, vale a dire: il codice nazionale codice standard elevato = area + 20H (esadecimale H) GBcode-bit di codice 20H + = Basso
2) codice macchina cinese (il codice) (piazzali di stoccaggio cinese)
codice macchina cinese (il codice) (caratteri cinesi codice memorizzato) è quello di unificare i vari input cinese rappresentazione dei caratteri di codice all'interno del computer.Al fine di inserire il codice in una varietà di caratteri all'interno del computer unificato, c'è un negozio dedicato ai personaggi all'interno del codice macchina computer usando i caratteri da input utilizzando una varietà di input dei caratteri cinesi codice unificato in codice macchina per i caratteri cinesistoccaggio, per facilitare il trattamento carattere cinese all'interno del codice macchina è in deposito computer, l'elaborazione del codice.Computer è necessario per affrontare con i caratteri cinesi, avere a che fare con gli inglesi.Pertanto, il computer deve essere in grado di distinguere tra i caratteri cinesi e caratteri inglesi.caratteri inglesi del codice macchina è la più alta per il codice a 8-bit ASCII 0.Al fine di non 7-bit ASCII con il conflitto, il codice nazionale standard per ogni byte del più alto bit da 0 a 1, e il bit rimanenti restano invariate come i cinesi codice macchina codifica dei caratteri.
codice macchina cinese della gamma in binario è: 1.010.000.110.100.001 1.111.111.011.111.110 codice macchina di alti e bassi rispetto al corrispondente codice nazionale standard di alta e bassa di grandi dimensioni (128) 10 o (10000000) 2 o (80) H, vale a dire: la macchinacodice di alto = GB codice di alto + 80H codice macchina a basso = GB codice di basso + 80H e anche perché: Codice GB alto prefisso = + 20H basso codice GB codice bit = + 20H così: codice macchina ad alta area = codice + macchina A0hcodice codice a basso bit + A0h = cioè macchina codice codice alte e basse, rispettivamente, in confronto con il prefisso corrispondente e codice di localizzazione di grandi dimensioni (160) 10 o (10,1 milioni) 2 o (A0) Esempio H: i cinesi "ah carattere"Il prefisso è" 1601 ", in cui il codice area è (16) 10 o (10) H, code-bit (01) 10 o (01) H.Quindi: codice macchina ad alta = 10 H + A0h = codice macchina B0h basso = 01H + = A0h A1H così: codice macchina = B0A1H
Il seguente è citato frammento:
!--[ If SupportEmptyParas] - !--[ endif] -
3) L'ingresso codice di carattere (codice esterno)
Codice di input dei caratteri cinesi (codice esterno) è un personaggio con l'ingresso personaggio attraverso una tastiera un codice di calcolo.ingresso inglese, quale personaggio avrebbe fase di input su quello chiave, inserire il codice e lo stesso codice macchina.l'input di caratteri cinesi può essere input secondo alcuni personaggi chiave.Ci sono centinaia di programma di input dei caratteri cinesi, ma variano l'ingresso esterno nel codice computer sarà convertita in un unico all'interno del codice.Cinese programma di input dei caratteri può essere diviso nei seguenti quattro tipi:
(1) Codice tono: se l'ortografia, Larry, il Pinyin Microsoft
(2) Forma-code: Se cinque colpi, Zheng-code, Forma-code, ecc
(3) i codici possono suono: come smart ABC, codici naturali
(4) codice numerico: se il codice area, i codici telegrafici
4) Il glifo codice di carattere (codice di uscita)
Carattere cinese Code (i codici di uscita) per la visualizzazione e la stampa dei caratteri cinesi, è l'informazione digitale dei caratteri cinesi.caratteri cinesi all'interno del codice è un codice numerico per rappresentare i caratteri, ma l'uscita al fine di consentire alle persone di vedere i caratteri cinesi, font di caratteri cinesi per essere uscita.Nel sistema cinese, il generale della matrice per rappresentare la forma.16 * 16 caratteri a matrice di punti indicano 16 conf di backup bin dati di configurazione eshow_sitemap.html generate.sh maint log sitemap.html tmp svn 16 forma reticolare della parola di utilizzare 32 byte (16 conf bin backup dei dati di configurazione eshow_sitemap.html generare.sh log maint tmp sitemap.html svn 16 / 8 = 32) di memoria, 24 bin conf di backup dati di configurazione eshow_sitemap.html generate.sh maint log sitemap.html tmp svn 24 forma reticolare della parola di utilizzare 72 byte (24 backupbin conf config dati eshow_sitemap.html generate.sh maint log sitemap.html tmp svn 24 / 8 = 72) di storage.
In generale, le prestazioni dei caratteri cinesi utilizzando il reticolo è più grande, migliore è la qualità dei caratteri cinesi, naturalmente, ogni carattere a matrice di punti maggiore è la quantità di storage necessario.
5) Il carattere di indirizzo codice
Personaggio codice di indirizzo è la libreria carattere cinese (si riferisce principalmente alla forma intera del punto biblioteca matrice font) memorizzati nelle informazioni indirizzo logico dei caratteri cinesi.Nella libreria di carattere cinese, le informazioni di forma è un certo ordine (la maggior parte dei codici di cambio cinese secondo l'ordine standard dei caratteri cinesi) continuamente memorizzati in supporti di memorizzazione, per cui i personaggi sono per lo più l'indirizzo del codice è una continua e ordinata, e con i personaggi delcodice è una semplice relazione tra, per semplificare i caratteri cinesi all'interno del codice di affrontare la conversione di codice.
Il seguente è citato frammento:
* /
!--[ If SupportEmptyParas] - !--[ endif] -
# Include "stdafx.h"
# Include "HZEncode.h"
!--[ If SupportEmptyParas] - !--[ endif] -
# Ifdef _DEBUG
# Definisce DEBUG_NEW nuovo
# Undef THIS_FILE
static char THIS_FILE [] = __FILE__;
# Endif
# Definisce UNICODE
# Definisce _UNICODE
/////////////////////////////////////////////////////////////////////////////
/ / L'unica domanda oggetto
!--[ If SupportEmptyParas] - !--[ endif] -
CWinApp theApp;
!--[ If SupportEmptyParas] - !--[ endif] -
using namespace std;
unsigned * ptr breve;
* PszHZ char = "ah";
bt byte [] = {0xC4, 0xE3, 0xBA, 0xC3 };//" Ciao "per il codice macchina
_tmain int (int argc, TCHAR * argv [], TCHAR * envp [])
{
nRetCode int = 0;
!--[ If SupportEmptyParas] - !--[ endif] -
/ / Inizializza MFC e di stampa e di errore in caso di fallimento
if (AfxWinInit (:: GetModuleHandle (NULL), NULL,:: GetCommandLine (), 0))
{
/ / TODO: errore modificare il codice in base alle proprie esigenze
cerr _T ("Errore fatale: MFC inizializzazione non riuscita") endl ;
nRetCode = 1;
}
altro
{
for (int i = 16; i = 55; i + +)
{
Temp byte [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");
ritorno nRetCode;
}
!--[ If SupportEmptyParas] - !--[ endif] -
!--[ If SupportEmptyParas] - !--[ endif] -