ホームページ >php教程 >php手册 >中国語文字をピンイン接頭辞に変換する PHP の原則

中国語文字をピンイン接頭辞に変換する PHP の原則

WBOY
WBOYオリジナル
2016-06-21 08:49:561239ブラウズ

GB 2312 では、収集された漢字が「分割」され、各ゾーンには 94 個の漢字/記号が含まれます。この表現は位置コードとも呼ばれます。

1) エリア 01 ~ 09 は特殊シンボルです。

2) 領域 16 ~ 55 は、ピンインでソートされた第 1 レベルの漢字です。

3) 領域 56 ~ 87 は、部首/画数ごとに分類された第 2 レベルの漢字です。

4) エリア 10 ~ 15 および 88 ~ 94 はコード化されていません。

GB2312 を使用するプログラムでは、通常、ASCII と互換性を持たせるために EUC 格納方式が使用されます。ブラウザのエンコード表の「GB2312」は通常「EUC-CN」表記を指します。

各漢字と記号は 2 バイトで表されます。最初のバイトは「上位バイト」(「エリアバイト」とも呼ばれます)と呼ばれ、2 番目のバイトは「下位バイト」(「ビットバイト」とも呼ばれます)と呼ばれます。

「上位バイト」は0xA1~0xF7(エリアコード01~87に0xA0を加算)、「下位バイト」は0xA1~0xFE(0xA0に01~94を加算)を使用します。第 1 レベルの漢字は領域 16 から始まるため、漢字領域の「上位バイト」の範囲は 0xB0 ~ 0xF7、「下位バイト」の範囲は 0xA1 ~ 0xFE、占有コード ビットは 72*94= となります。 6768。このうち空席はD7FA~D7FEの5名です。

たとえば、ほとんどのプログラムでは、単語「Ah」は 0xB0 (最初のバイト) と 0xA1 (2 番目のバイト) の 2 バイトに格納されます。エリアコード = エリアバイト + ビットバイト (エリアコードと比較: 0xB0=0xA0+16、0xA1=0xA0+1)。

デザイン:

配列を使用して、国家標準の第 1 レベルの中国語文字のさまざまな発音の開始位置コードを格納します (

など)。

static Final int[] secPosValueList = {

1601、1637、1833、2078、2274、2302、2433、2594、2787、3106、3212、3472、

3635、3722、3730、3858、4027、4086、4390、4558、4684、4925、5249、9999}

データ ストアには、国家標準の第 1 水準漢字

のさまざまな発音の開始位置コードの対応する発音が保存されます。

static Final char[] firstLetter = {

'a'、'b'、'c'、'd'、'e'、'f'、'g'、'h'、'j'、'k'、'l'、'm'、 「ん」、「お」、「ぷ」、

'q', 'r', 's', 't', 'w', 'x', 'y', 'z'};

処理方法:

1. あなたが英語の母であるかどうかを判断してください

2.「はい」の場合は、英語の母

に直接返してください。

3. 文字

のエンコード値を取得します。

4. コード テーブル内のエンコード値の位置を比較して決定します。

5. 位置の値に従って、親テーブルの対応する値を返します



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。