/ / HZEncode.cpp:定義コンソールアプリケーションのエントリポイントです。
/ /
/ *
参照:
中国語の文字エンコーディングと表現
1)文字交換コード(ギガバイトコード)中国の為替コード(GBコード)は主に文字情報交換のために使用されています。
ギガバイトコード:国立標準局が1980年に発行された、基本セット"(コードGB2312の80という名前の)国家標準中国語の文字エンコーディングとして交換コードの提供"を設定中国語符号化文字集合との情報交換"。GB2312の80記号7445文字の合計:中国語の文字記号6763 3755(ピンインのアルファベット順)は、2つの文字3008(ラジカルアルファベット順)以外の文字記号80はすべてのことを提供しています682 GB2312のGBコード中国語の文字や記号は、94 94平方メートルを形成する。この行列で、各行は"ゾーン"と呼ばれ、各列は"ビット"と呼ばれます。この行列は、実際には94のゾーン(01から94までの数字)で構成され、各地区は、中国語の文字セットの94ビット(94 01までの数字)を持っています。市外局番と番号の組み合わせは、中国語の文字を形成するために文字の位置"エリアコードです。"これらの中でも、ハイとローのビット数二のためのコードの2つ。このエリアコードは、一意に特定の文字または文字列を識別することができます。反して、任意の文字または記号は、ユニークな地域コードに対応し、ない再コードがあります。
として配布エリアコードは、次のとおり:
キーボード上の様々なシンボルのゾーンコードの内容は、キーボード(中国の方法によって与えられる)4-5地区6地区、日本のアルファベットロシア語のアルファベットギリシャ語のアルファベット7区8区のシンボルのすべてのゾーン2ゾーン3のシリアル番号ではありません音標文字母音とトーンをタブ記号の名前エリア9 10を識別して、 - 87領域(アルファベット順基に)は、2つの文字を88 - 16〜55地区レベルの領域に15文字(ピンインのアルファベット順に)56されていない- 94カスタム文字領域を
我々上記を見ることができるから、すべての漢字、94地域のシンボルは4つのグループに分けることができること:
①1 -15ゾーン:グラフィックシンボルエリア。うち標準のシンボルエリアとして19地域、カスタムシンボルの10〜15エリアエリア。
②16 -55ゾーン:3755中国語の文字を含む文字領域として。アルファベット順で、これらの領域の文字は、同音異義語は、脳卒中の順に記載されています。
③56 -87ゾーンには:2つの漢字のゾーン、3008中国語の文字が含まれています。これらの領域の文字は、根本的なストロークでの並べ替え順序です。
④88 -94ゾーン:カスタム文字領域です。
ギガバイトコードは(一部の文字以外の記号を含む)すべての文字が2バイトコードで発現していることが用意されています。34 = 94のコードを中国語の文字 - 各バイトの最上位ビットは、34の下位7ビットエンコードは、各バイトは27ですので、制御に使用されるている間は、下位7ビットを使用して、0になります。2バイトは9494 = 8836文字エンコーディングを持っています。、2バイト、上位バイトコードテーブルの行番号に対応する漢字を言ったのエリアコードと呼ばれる、低バイトコードのビット数と呼ばれるテーブル内の列番号に対応しています。
バイナリの中国国家標準コードのスコープは: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ビットASCII文字コードが128文字で構成されています。これは、任意の印刷文字に対応していない031の値(0,000,000,000,011,111)エンコードは、頻繁に呼ばれるコンピュータの通信やコンピュータ機器、制御の通信制御機能で使用される制御文字として。コード値は32(00100000)空白文字のSPです。コード値は127(1111111)DELを文字を削除することです。
ギガバイト00100001開始文字コードは10、32、制御文字と空白文字をスキップしてASCIIコードの選択のバイナリの位置(33)です。したがって、中国の国家標準コード高く、それぞれ低、対応するエリアコード大と比較して(32)10(00100000)2または(20)すなわち、Hの:国家標準コード高=市外局番+ 20Hの(Hの進数)ギガバイトコードビットコード+ 20Hの=低
2)中国のマシンコード(コード)(中国ストレージヤード)
中国のマシンコードは(コード)(コードを格納されて中国語の文字)、コンピュータ内部の様々な中国の文字入力コード表現を統一する必要があります。統一されたコンピュータ内の文字の様々なコードを入力するためには、漢字のマシンコードに中国語の文字入力の統一コードのさまざまな方法を使って入力する文字を使用して、コンピュータのマシンコード内の文字を専用のストアがあるマシンコードは、コンピュータ記憶にある内のストレージは、コードを処理し、中国語の文字の処理を容易にする。コンピュータが英語で対処しなければならない、中国語の文字に対応する必要があります。したがって、コンピュータは漢字、英語の文字を区別することができなければなりません。マシンコードの英語の文字は、8ビットのASCIIコード0の最高です。ためには競合しないようにと、7ビットASCIIコードには、0から1に、最上位ビットの各バイトのための国家標準コード、および残りのビットは、中国の文字エンコーディングマシンコードとして変わりません。
バイナリの範囲の中国のマシンコードは:高値と安値の対応する国家規格のコード以上の1,010,000,110,100,001 1,111,111,011,111,110マシンコード高く、大規模な(128)10(10000000)2(80)、すなわちはH、低:マシンコード高= GBコード高+ 80Hはマシンコード低= GBコード低+ 80Hは、またために:GBコード高=市外局番+ 20HのGBコードの低=ビットコード+ 20Hのように:マシンコード高=市外局番+度にすべてのマシンコード低ビットコード+度にすべて=されていることを、対応するエリアコードとロケーションコード大規模と比較してマシンコードマシンコード高く、それぞれ低、(160)10(10100000)2または(A0)のHの例:中国語の文字"ああこれで市外局番が1601"、"エリアコードは"(16)10(10)Hは、ビットコード(01)10(01)Hにその後:マシンコード高= 10Hの+度にすべて= B0Hマシンコード低= 01Hの+度にすべて= A1Hので:マシンコード= B0A1H
次の断片を引用されている:
!--[場合SupportEmptyParas] - !--[ endifの] -
3)文字入力コード(外側のコード)
中国語の文字入力コード(外側のコード)をコンピュータコードを設計し、キーボードから文字入力する文字です。どのような文字、どのようなキーの入力の位相と同じコードとマシンコードを入力して英語入力。中国語の文字入力はいくつかのキーの文字に応じて入力することができる。漢字入力プログラムの何百ものがありますが、内部の統一コードに変換されるコンピュータに外部コードの入力を変化させる。漢字入力プログラムは、次の4つのタイプに分けることができます:
(1)トーンコード:場合はスペル、ラリーは、Microsoftピンイン
(2)形状コード:5打、鄭コード、形状コード等場合
(3)コードが鳴ることができる:スマートABC社は、自然のコードなど
(4)数値コード:市外局番場合は、電信符号
4)文字のグリフのコード(出力コード)
漢字コードは(出力コード)表示と中国語の文字の印刷、中国語の文字のデジタル情報です。コード内の漢字は、文字を表現する数値コードされている順序で出力は、人々が出力される漢字、漢字フォントを参照できるようにする。中国のシステムでは、行列の一般的な形を表すことができます。16 * 16文字の行列が16のバックアップのbin confを設定データeshow_sitemap.html generate.shログのmaint sitemap.htmlのsvn tmpに16のバックアップのbin confには、configデータeshow_sitemap.htmlが生成する32バイトを使用するか(ワードの16格子状を示すドット。maintのsitemap.htmlのsvn tmpにログインしてshを8分の16 = 32)のメモリ、24バックアップのbin confに設定データeshow_sitemap.html generate.shログのmaint sitemap.htmlのsvn tmpに72バイトを使用して単語の24格子状(24バックアップビンのconf設定データeshow_sitemap.html generate.shログのmaint sitemap.htmlのsvn tmpの8分の24 = 72)のストレージ。
一般的には、格子を使用して中国語の文字の性能が大きい場合には、より良い中国語の文字の品質はもちろん、各文字は大きい必要なストレージの量ドットマトリクス。
5)文字のアドレスコード
キャラクターアドレスコードが中国語の文字の論理アドレス情報に格納されている(主に行列のフォントライブラリをドットの全体の形をいう。)漢字ライブラリです。中国語の文字のライブラリでは、形状情報が継続的に記憶媒体に格納されている(漢字の標準的な順序に応じて中国の為替コードのほとんど)特定の順序は、主にコードを対応されるように文字が連続して整然とされ、文字とコードは、コード変換に対処するためにコード内の漢字を簡素化するための間の単純な関係を持っています。
次の断片を引用されている:
* /
!--[場合SupportEmptyParas] - !--[ endifの] -
#を含める"stdafx.h"の
#"はHZEncode.h"インクルード
!--[場合SupportEmptyParas] - !--[ endifの] -
#ifdefを_DEBUG
#新しいDEBUG_NEWを定義します。
#undefのTHIS_FILEを
= __FILE__します。static char THIS_FILE [];
#endifの
#Unicodeを定義します。
#_UNICODEを定義します。
/////////////////////////////////////////////////////////////////////////////
/ / 1とアプリケーションのオブジェクトのみ
!--[場合SupportEmptyParas] - !--[ endifの] -
CWinAppのtheApp;
!--[場合SupportEmptyParas] - !--[ endifの] -
std名前空間を使用。
符号なしshort * ptrに。
炭* pszHZ ="ああ";
バイトBTの[] = {0xC4を、0xe3、0xBA、マシンコードにHello 0xC3 };//""
int型_tmain(int型はargc、TCHARを*のargv []、TCHARを* envpは[])
{
int型nRetCode = 0;
!--[場合SupportEmptyParas] - !--[ endifの] -
/ /初期化MFCの印刷およびエラーが失敗した場合に
場合(AfxWinInit(::GetModuleHandle(NULL)は、NULLを::GetCommandLine()、0))
{
/ / TODO:この位置の変更エラーコードは、ユーザーのニーズに合わせて
cerr未満未満_Tは:未満未満endlを(以下"致命的なエラーのMFCの初期化に失敗しました");
nRetCode = 1;
}
他
{
の(int型私= 16;一未満= 55; i + +)の
{
バイトの温度[3];
温度[2] = 0;
温度[0] = iの+ 0xA0に。
の(int型jが= 1;未満94 jは、jは+ +)
{
温度[1] = jは+ 0xA0に。
裁判所未満未満(LPCTSTR)型温度;
}
裁判所未満未満endlを。
}
!--[場合SupportEmptyParas] - !--[ endifの] -
}
!--[場合SupportEmptyParas] - !--[ endifの] -
システム("一時停止");
戻り値はnRetCode;
}
!--[場合SupportEmptyParas] - !--[ endifの] -
!--[場合SupportEmptyParas] - !--[ endifの] -