C-programmet for kinesiske Intern Kode og GB-koden



/ / HZEncode.cpp: Definerer indgang til konsollen ansøgningen.

/ /

/ *

Referencer:

Kinesisk tegnsæt og repræsentation

1) Tegnet udveksle kode (GB Code) Kinesisk udveksle kode (GB-kode) bruges primært til karakter udveksling af oplysninger.

DK Code: The National Bureau of Standards udstedt i 1980, "Udveksling af oplysninger med de kinesiske kodet tegnsæt" grundlæggende set "(med kodenavnet GB2312 80) bestemmelser om ombytning kode som en national standard kinesisk tegnsæt.GB2312 80 symboler i alt 7445 tegn: en kinesisk tegn symbol 6.763 3.755 (i alfabetisk rækkefølge efter pinyin) to tegn 3.008 (alfabetisk rækkefølge efter radikaler) ikke tegn symboler 682 GB2312 80 bestemmer, at alleDK-kode kinesiske tegn og symboler til at danne en 94 94 kvadrat.I denne matrix, er hver række kaldes en "zone", er hver kolonne kaldes en "bit".Denne matrix er faktisk består af en 94 zone (tal fra 01 til 94), hver distrikt har 94 bits (tal fra 01 til 94) i den kinesiske tegnsæt.En karakter position, hvor områdenummer og nummer kombinationer til at danne de kinesiske tegn for "område kode."Blandt dem,. To af koden af høj og lav for bit nummer toDette område kode kan entydigt identificere et bestemt eller flere tegn, tværtimod, ethvert tegn eller symbol, svarer til et unikt område kode, er der ingen re-kode.

Område kode fordelt som følger:

Indholdet af en zone kodeks for forskellige symboler på tastaturet er ikke alle Zone 2 Zone 3 løbenummer symboler på tastaturet (givet af den kinesiske måde) 4-5 District 6 District, den japanske alfabet russiske alfabet græske alfabet 7 District 8 Districtidentificere fonetiske alfabet vokaler og toner navnet på fanen symboler Area 10 til 15 september med en 16-55 distrikt-niveau Området er ikke tegn (i Pinyin alfabetisk rækkefølge) fra 56 til 87-området to tegn (i alfabetisk rækkefølge radikaler) 88- 94 specialtegn område

Fra ovenstående kan vi se, at alle de kinesiske tegn og symboler for de 94 områder kan inddeles i fire grupper:

① 1 -15 zone: en grafisk symbol område.Hvoraf 19 områder som standard symbol område; 10 15 areal område for den brugerdefinerede symbol.

② 16 -55 zone: som et tegn området, herunder 3755 kinesiske tegn.Karakter af disse områder i alfabetisk rækkefølge, er enslydende opført i rækkefølge efter slagtilfælde.

③ 56 -87 zone: zone for de to kinesiske tegn, indeholder 3.008 kinesiske tegn.Karakter af disse områder er sorteringsrækkefølgen af radikale slagtilfælde.

④ 88 -94 zone: for den brugerdefinerede karakter området.

DK bestemmer, at hver karakter (herunder nogle ikke-tegn symbol) udtrykt ved en 2 byte kode.Den højeste bit af hver byte er 0, kun bruge den nederste 7 bits, mens den nederste 7-bit kodning af 34 har brugt til kontrol, således at hver byte er kun 27 til 34 = 94 koder for kinesiske tegn.2 bytes har 9.494 = 8.836 tegnsæt.Sagde en kinesisk figur i 2 byte, høje byte kode, der svarer til den linje nummer i tabellen, kaldet områdenummer; lav byte kode, der svarer til den kolonne nummer i tabellen, kaldet bit tal.

Anvendelsesområdet for kinesiske national 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-bit ASCII tegn kode består af 128 tegn.Som koder værdien af 031 (0,000,000,000,011,111) svarer ikke til nogen udskrivning tegn, der ofte omtales som kontrol karakterer, der anvendes i edb meddelelser eller edb-udstyr, kommunikation kontrolfunktion af kontrol.Kodeværdien 32 (00100000) er den plads, tegnet SP.Kodeværdien 127 (1111111) er at fjerne de tegn DEL.

Tegnkode starter GB 00100001 er det binære position valg (33) 10 ASCII-koden for at springe de 32 kontrol tegn og mellemrum.Derfor er den kinesiske nationale standard kode af høj og lav, sammenlignet med den tilsvarende områdenummer Large (32) 10 eller (00.100.000) 2 eller (20) H, nemlig: en national standard koden høj = områdenummer + 20H (H hexadecimal) DKkode-bit kode + 20H = Low

2) Kinesisk maskine kode (koden) (Kinesisk oplagspladser)

Kinesisk maskine kode (koden) (kinesiske tegn gemt kode) er at forene de forskellige kinesiske tegn input kode repræsentation inde i computeren.For at indtaste koden i en række forskellige karakterer i det forenede computeren, er der en butik dedikeret til figurerne inde i computeren maskinkode med karakterer, der skal indtastes ved hjælp af en række kinesiske tegn input samlet kode til maskinkode for kinesiske tegnopbevaring, for at lette kinesiske tegn behandlingen inde i maskinen koden er i edb lagring, behandling kode.Computer er det nødvendigt at beskæftige sig med kinesiske tegn, er nødt til at beskæftige sig med engelsk.Derfor skal computeren være i stand til at skelne mellem kinesiske tegn og engelske tegn.Engelske tegn af maskinen er det højeste for de 8-bit ASCII-kode 0.For ikke at 7-bit ASCII-kode med konflikten, den nationale standard kode for hver byte af den højeste bit 0 til 1, og de resterende bits forbliver uændret, da den kinesiske tegnkodningen maskine kode.

Kinesisk maskinkode i intervallet i binær er: 1.010.000.110.100.001 1.111.111.011.111.110 maskine kode op-og nedture end de tilsvarende nationale standard kode af høj og lav store (128) 10 eller (10 millioner) 2 eller (80) H, nemlig: maskinenkode høj = DK-kode høj + 80h maskinkode lav = DK-kode lav + 80h og også fordi: GB kode høj = områdenummer + 20H GB kode lav = bit kode + 20H så: maskinkode høj = områdenummer + A0H maskinekode lav bit kode + A0H = dvs maskinkode maskinkode, høj og lav, sammenlignet med de tilsvarende områdenummer og placering koden store (160) 10 eller (10.100.000) 2 eller (A0) H Eksempel: Den kinesiske tegn "ah"Området koden er" 1601 ", i hvilket område kode (16) 10 eller (10) H-bit kode (01) 10 eller (01) H.Derefter: maskinkode høj = 10H + A0H = B0H maskinkode lav = 01h + A0H = A1H så: maskinkode = B0A1H

Det følgende er citeret fragment:

!--[ Hvis SupportEmptyParas] - !--[ endif] -

3) Tegnet input kode (ydre kode)

Kinesisk tegn input kode (ydre kode) er et tegn til tegn input gennem et tastatur designet en computer-kode.Engelsk input, hvad karakter ville fase input om, hvad nøglen, skal du indtaste den samme kode og maskinkode.Kinesisk tegn indgang kan input efter et par vigtige tegn.Der er hundredvis af kinesiske tegn input program, men varierer den eksterne input til computeren kode vil blive omdannet til en samlet i koden.Kinesisk tegn input program kan inddeles i følgende 4 typer:

(1) tone kode: Hvis stavning, Larry, Microsoft Pinyin

(2) Form-kode: Hvis fem streger, Zheng-kode, Shape-kode, etc.

(3) koder kan lyde: såsom smart ABC, naturlige koder

(4) numerisk kode: Hvis områdenummeret, telegraf-koder

4) Tegnet glyph kode (output kode)

Kinesisk tegnkode (output koder) til visning og udskrivning af kinesiske tegn, er den digitale information kinesiske tegn.Kinesiske tegn i den kode er en numerisk kode til at repræsentere tegn, men produktionen med henblik på at give folk mulighed for at se kinesiske tegn, kinesisk tegn skrifttype, der skal ud.I det kinesiske system, generel matrix for at repræsentere formen.16 * 16 tegn dot matrix angiver 16 backup bin conf config data eshow_sitemap.html generate.sh log maint sitemap.html svn tmp 16 gitter form af ordet for at bruge 32 byte (16 backup bin conf config data eshow_sitemap.html generere.sh log maint sitemap.html svn tmp 16 / 8 = 32) hukommelse, 24 backup bin conf config data eshow_sitemap.html generate.sh log maint sitemap.html svn tmp 24 gitter form af ordet for at bruge 72 bytes (24 backupbin conf config data eshow_sitemap.html generate.sh log maint sitemap.html svn tmp 24 / 8 = 72) opbevaring.

Generelt er opfyldelsen af kinesiske tegn ved hjælp af gitter større, jo bedre kvalitet af kinesiske tegn, naturligvis, prik hver karakter-matrix jo større mængde plads påkrævet.

5) Tegnet adresse koden

Tegn adresse kode er den kinesiske tegn biblioteket (primært refererer til hele formen på dot matrix skrifttype bibliotek) gemt i logiske adresse information af den kinesiske tegn.I den kinesiske tegn biblioteket, er formen oplysninger en bestemt rækkefølge (de fleste af de kinesiske udveksling koder i overensstemmelse med standarden rækkefølgen af kinesiske tegn) kontinuerligt opbevares i opbevaringsanlæg medier, så de tegn, er for det meste adresse koden er en kontinuerlig og velordnet, og med de tegn påkode har en simpel sammenhæng mellem, for at forenkle kinesiske tegn i den kode til at løse koden konvertering.

Det følgende er citeret fragment:

* /

!--[ Hvis SupportEmptyParas] - !--[ endif] -

# Include "stdafx.h"

# Include "HZEncode.h"

!--[ Hvis SupportEmptyParas] - !--[ endif] -

# Ifdef _DEBUG

# Definer ny DEBUG_NEW

# Undef THIS_FILE

statisk char THIS_FILE [] = __FILE__;

# Endif

# Definer UNICODE

# Definer _UNICODE

/////////////////////////////////////////////////////////////////////////////

/ / Det eneste ansøgning objekt

!--[ Hvis SupportEmptyParas] - !--[ endif] -

CWinApp theApp;

!--[ Hvis SupportEmptyParas] - !--[ endif] -

using namespace std;

unsigned short * PTR;

char * pszHZ = "ah";

byte bt [] = {0xc4, 0xe3, 0xBA, 0xC3 };//" Hej "til maskinkode

int _tmain (int argc, TCHAR * argv [], TCHAR * envp [])

{

int nRetCode = 0;

!--[ Hvis SupportEmptyParas] - !--[ endif] -

/ / Formatér MFC og print og fejl på fejl

if (AfxWinInit (:!: GetModuleHandle (NULL), NULL,:: GetCommandLine (), 0))

{

/ / TODO: Skift fejlkode, der passer til dine behov

cerr _T ("Fatal fejl: MFC mislykkedes") endl;

nRetCode = 1;

}

andet

{

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");

tilbagevenden nRetCode;

}

!--[ Hvis SupportEmptyParas] - !--[ endif] -

!--[ Hvis SupportEmptyParas] - !--[ endif] -