/ / HZEncode.cpp: Definerer inngangspunkt for konsollen programmet.
/ /
/ *
Referanser:
Kinesiske tegn koding og representasjon
1) Tegnet utveksle kode (GB Code) Kinesisk utveksle kode (GB kode) er hovedsaklig brukt for karakter informasjonsutveksling.
GB Code: The National Bureau of Standards utstedt i 1980, "Informasjonsutveksling med det kinesiske kodet tegnsett" grunnleggende sett »(kodenavn GB2312 80) sørget for utveksling koden som en nasjonal standard kinesisk tegn koding.GB2312 80 symboler totalt 7445 tegn: et kinesisk tegn symbol 6763 3755 (i alfabetisk rekkefølge etter pinyin) to tegnene 3008 (alfabetisk rekkefølge etter radikaler) som ikke er tegnet symboler 682 GB2312 80 fastsetter at allGB kode kinesiske tegn og symboler til å danne en 94 94 kvadrat.I denne matrisen, blir hver rad kalles en "sone", blir hver kolonne kalles en "bit".Denne matrisen er faktisk består av en 94 sone (tall 01-94), har hvert distrikt 94 biter (tall 01-94) av den kinesiske tegnsettet.Et tegn posisjon hvor retningsnummeret og tallkombinasjoner for å danne de kinesiske tegnene for "retningsnummer."Blant dem, to av koden av høy og lav for bit nummer to.Dette området koden kan identifisere en bestemt karakter eller tegn; det motsatte, svarer alle tegn eller symbol til et unikt område kode, det er ingen re-kode.
Retningsnummer fordelt som følger:
Innholdet i en sone kode av ulike symboler på tastaturet er ikke alle Sone 2 Sone 3 serienummer symboler på tastaturet (gitt av den kinesiske måten) 4-5 District 6 District, den japanske alfabetet russiske alfabetet greske alfabetet 7 Distrikt 8 Districtidentifisere fonetiske alfabetet vokaler og toner navnet på kategorien symboler området 10 til 15 september med en 16-55 distrikt nivå området er ikke tegn (i pinyin alfabetisk rekkefølge) 56-87 området to tegn (i alfabetisk rekkefølge radikaler) 88- 94 egendefinerte tegn area
Fra ovennevnte kan vi se at alle kinesiske tegn og symboler av de 94 områdene kan deles inn i fire grupper:
① en -15 sone: et grafisk symbol område.Hvorav 19 områder som standard symbol området; 10 15 område område for egendefinerte symbol.
② 16 -55 sone: som et tegn område, inkludert 3755 kinesiske tegn.Karakter av disse områdene i alfabetisk rekkefølge, er homonymer oppført i rekkefølge etter hjerneslag.
③ 56 -87 sone: sone for de to kinesiske tegn, inneholder 3008 kinesiske tegn.Karakter av disse områdene i slaget ordren er sortert etter radikaler.
④ 88 -94 sone: for egendefinerte tegn området.
GB gir anledning til at hver karakter (inkluderer en del ikke-tegn symbol) uttrykt ved en 2 byte-kode.Den høyeste bit av hver byte er 0, bruker bare den nedre 7 bits, mens den nedre 7-bit koding av 34 har brukt for kontroll, slik at hver byte er bare 27-34 = 94 koder for kinesiske tegn.2 byte har 9494 = 8836 tegnkoding.Sa en kinesisk tegn på 2 byte, høy byte kode tilsvarende linje i tabellen, kalt retningsnummeret, lav byte kode tilsvarende kolonnen i tabellen, kalt biters tall.
Omfanget av kinesiske nasjonal standard kode i binær er: 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-bits ASCII-kode består av 128 tegn.Hvilke koder verdien av 031 (0,000,000,000,011,111) svarer ikke til noen utskrift tegn, ofte referert til som kontroll tegn, brukes i maskin kommunikasjon eller datautstyr, kommunikasjon kontrollfunksjon av kontroll.Kode verdi 32 (00100000) er rommet karakter SP.Kode verdi 127 (1111111) er å fjerne tegnene DEL.
Kinesisk nasjonal standard binær kode for startposisjonen til valget er 00100001 (33) 10 er ASCII-koden til å hoppe over 32 kontroll tegn og mellomrom.Derfor, den kinesiske nasjonale standard kode med høy og lav, sammenlignet med tilsvarende retningsnummer Large (32) 10 eller (00100000) 2 eller (20) H, nemlig: den nasjonale standard kode høy = retningsnummer + 20H (H heksadesimal) GBcode-bits kode + 20H = Lav
2) Kinesisk maskin kode (koden) (kinesisk lagring meter)
Kinesisk maskin kode (koden) (kinesisk tegn lagret kode) er å samle de ulike kinesiske tegnet inn koden representasjon inne i maskinen.For å taste inn koden i en rekke tegn innenfor enhetlige datamaskinen, er det en butikk dedikert til tegnene inni maskinen maskinen koden ved hjelp av tegn som legges inn ved hjelp av en rekke kinesiske tegn innspill enhetlig koden i maskinkode for kinesiske tegnlagring, for å lette det kinesiske tegnet behandlingen inni maskinen koden er i datamaskinen lagring, prosessering kode.Computer det er nødvendig å forholde seg til kinesiske tegn, må forholde seg til den engelske.Derfor, må datamaskinen være i stand til å skille mellom kinesiske tegn og engelske tegn.Engelske tegn på maskinen koden er det høyeste for 8-bits ASCII-kode 0.For ikke å 7-bits ASCII-kode med konflikten, den nasjonale standard kode for hver byte av de høyeste bit fra 0 til 1, og de resterende biter forblir uendret som den kinesiske tegnkoding maskin kode.
Kinesisk maskinkode av området i binære er: 1.010.000.110.100.001 1.111.111.011.111.110 maskinkode av oppturer og nedturer enn de tilsvarende nasjonale standard kode med høy og lav store (128) 10 eller (10000000) 2 eller (80) H, nemlig: maskinenkoden høy = GB kode høy + 80H maskinkode lav = GB kode lav + 80H, og også fordi: GB kode høy = retningsnummer + 20H GB kode lav = bit kode + 20H slik: maskinkode høy = retningsnummer + A0H maskinkode lav bit kode + A0H = som er, maskin kode maskin kode høyt og lavt, sammenlignet med tilsvarende retningsnummer og plassering kode stort (160) 10 eller (10100000) 2 eller (A0) H Eksempel: det kinesiske tegnet "ah"Området koden er" 1601 ", i hvilket område koden er (16) 10 eller (10) H,-bits kode (01) 10 eller (01) H.Så: maskinkode høy = 10H + A0H = B0H maskinkode lav = 01h + A0H = A1H slik: Maskinen kode = B0A1H
Følgende er sitert fragment:
!--[ Hvis SupportEmptyParas] - !--[ endif] -
3) De tegnet inn koden (ytre kode)
Kinesiske tegn inn koden (ytre kode) er et tegn til tegnet inn gjennom et tastatur designet en datamaskin kode.Engelsk input, hva karakteren skulle fase innspill på hva nøkkel, angir den samme koden og maskin-kode.Kinesiske tegn input kan være innspill i henhold til noen viktige tegn.Det er hundrevis av kinesiske tegn input-programmet, men varierer den eksterne innspill til datamaskinen koden vil bli omgjort til en enhetlig i koden.Kinesiske tegn innspill program kan deles inn i følgende 4 typer:
(1) tone kode: Hvis stave, Larry, Microsoft Pinyin
(2) Shape-kode: Hvis det er fem slag, Zheng-kode, Shape-kode, etc.
(3) koder kan høres: for eksempel smart ABC, naturlige koder
(4) tallkode: Hvis retningsnummer, telegraf koder
4) Tegnet glyph-koden (output kode)
Kinesisk Character Code (output koder) for visning og utskrift av kinesiske tegn, er digital informasjon av kinesiske tegn.Kinesiske tegn i koden er en numerisk kode for å representere tegn, men produksjonen for å tillate folk å se kinesiske tegn, kinesiske tegnet skrift skal sendes ut.I det kinesiske systemet, den generelle matrise å representere figuren.16 * 16 tegn dot tyder matrix 16 backup bin conf config data eshow_sitemap.html generate.sh logge maint sitemap.html svn tmp 16 gitter formen av ordet å bruke 32 bytes (16 backup bin conf config data eshow_sitemap.html generere.sh logge maint sitemap.html svn tmp 16 / 8 = 32) minne, 24 backup bin conf config data eshow_sitemap.html generate.sh logge maint sitemap.html svn tmp 24 gitter formen av ordet å bruke 72 bytes (24 backupbin conf config data eshow_sitemap.html generate.sh logge maint sitemap.html svn tmp 24 / 8 = 72) lagring.
Generelt, er utførelsen av kinesiske tegn ved hjelp av gitteret større, jo bedre er kvaliteten på kinesiske tegn, selvfølgelig, hver figur dot-matrix jo større er mengden lagringsplass som kreves.
5) Tegnet adressen koden
Character adresse koden er det kinesiske tegnet biblioteket (hovedsakelig refererer til hele formen på dot matrix font bibliotek) er lagret i den logiske adressen for kinesiske tegn.I det kinesiske tegnet biblioteket, er formen informasjonen en bestemt rekkefølge (de fleste av de kinesiske utveksle koder i samsvar med standarden rekkefølgen av kinesiske tegn) kontinuerlig lagret i lagringsmedier, så tegnene er stort sett adresse-koden en kontinuerlig og ryddig, og med figurene ikoden har en enkel relasjon mellom, for å forenkle kinesiske tegn i koden for å løse koden konvertering.
Følgende er sitert fragment:
* /
!--[ Hvis SupportEmptyParas] - !--[ endif] -
# Inkluder "stdafx.h"
# Inkluder "HZEncode.h"
!--[ Hvis SupportEmptyParas] - !--[ endif] -
# Ifdef _DEBUG
# Definer nye DEBUG_NEW
# Undef THIS_FILE
statiske røye THIS_FILE [] = __FILE__;
# Endif
# Definer UNICODE
# Definer _UNICODE
/////////////////////////////////////////////////////////////////////////////
/ / Den eneste program objekt
!--[ Hvis SupportEmptyParas] - !--[ endif] -
CWinApp theApp;
!--[ Hvis SupportEmptyParas] - !--[ endif] -
bruker namespace std;
usignert kort * ptr;
char * pszHZ = "ah";
byte bt [] = {0xc4, 0xe3, 0xBA, 0xC3 };//" Hei "til maskinen koden
int _tmain (int argc, TCHAR * argv [], TCHAR * envp [])
{
int nRetCode = 0;
!--[ Hvis SupportEmptyParas] - !--[ endif] -
/ / Initialiser MFC-og print og feil på feil
if (AfxWinInit (:!: GetModuleHandle (NULL), NULL,:: GetCommandLine (), 0))
{
/ / TODO: endrer feilkode som passer dine behov
cerr _T ("Fatal Error: MFC mislyktes") endl;
nRetCode = 1;
}
annet
{
for (int i = 16; i = 55; i + +)
{
byte 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;
}
!--[ Hvis SupportEmptyParas] - !--[ endif] -
}
!--[ Hvis SupportEmptyParas] - !--[ endif] -
system ("pause");
avkastning nRetCode;
}
!--[ Hvis SupportEmptyParas] - !--[ endif] -
!--[ Hvis SupportEmptyParas] - !--[ endif] -