ホームページ  >  記事  >  Java  >  Javaコードでひし形文字化けが発生しますか?

Javaコードでひし形文字化けが発生しますか?

Guanhui
Guanhuiオリジナル
2020-06-08 09:47:003681ブラウズ

Javaコードでひし形文字化けが発生しますか?

# Java コードでひし形文字化けが発生しますか?

ダイヤモンド型の文字化けが Java コードに表示されます。通常、これは文字セットの問題が原因です。たとえば、Java ファイルは GBK エンコードされているが、エディタで Java ファイルを UTF- で開くと、 8 エンコードを使用すると、このような文字化けが表示される 解決方法: エディタのエンコードを Java ファイルと同じエンコードに変更します。

エンコーディング

エンコーディングとは、情報をある形式または形式から別の形式または形式に変換するプロセスであり、次のコードとも呼ばれます。コンピュータープログラミング言語は単にコーディングと呼ばれます。文字や数字などを所定の方法で数値にエンコードしたり、情報やデータを所定の電気パルス信号に変換したりすることができます。コーディングは、電子コンピュータ、テレビ、リモコン、通信などで広く使用されています。エンコーディングは、情報をある形式または形式から別の形式または形式に変換するプロセスです。デコードはエンコードの逆のプロセスです。

GB エンコード規格の中で、より一般的に使用されているのは GB2312 と GBK です。GB2312 は GBK のサブセットです。GB2312 エンコード範囲は 0xA1A1 ~ 0xFEFE です。純粋な GB2312 エンコードの場合、非常に簡単です。ただし、GBK 文字セットを扱う際にはいくつかの小さなヒントがあります。まず GBK エンコード標準について話しましょう:

GBK は 2 バイト表現を使用します。全体のエンコード範囲は 8140-FEFE で、最初のバイトは 81-FE の間にあり、最後のバイトは 40-FE の間にあり、xx7F の行は削除されます。合計 23,940 のコード ポイントがあり、21,003 の漢字 (部首と構成要素を含む) と 883 の図形記号を含む、合計 21,886 の漢字と図形記号が含まれています。

エンコード分類

1. 漢字領域。含まれるもの:

a. GB 2312 漢字領域。それが GBK/2: B0A1-F7FE です。 6763 GB 2312 個の漢字がオリジナルの順序で配置されています。

b. GB 13000.1 漢字エリアを拡大します。含まれるもの:

(1) GBK/3: 8140-A0FE。 GB 13000.1 に 6080 の CJK 漢字が含まれています。

(2) GBK/4: AA40-FEA0。 8160 の CJK 漢字と補足漢字が含まれています。

CJK の漢字は UCS コード サイズに従って配置され、先頭にあります。補助漢字 (部首と構成要素を含む) は最後にあり、『康煕字典』のページ番号/文字位置に従って配置されています。 。

2. グラフィック シンボル領域。含まれるもの:

a. GB 2312 非漢字シンボル領域。それが GBK/1: A1A1 ~ A9FE です。 GB 2312 の記号に加えて、

には GB 12345 によって補足された 10 個の小文字のローマ数字と記号もあります。シンボルは全部で 717 個あります。

b. GB 13000.1 非漢字領域を拡張します。それがGBK/5:A840-A9A0です。 BIG-5 漢字以外の文字、構造記号、「○」が配置されるエリアです。シンボルは全部で 166 個あります。

3. ユーザー定義エリア: 3 つのエリア (1)(2)(3) に分かれています。

(1) AAA1-AFFE、564 コード ポイント。

(2) F8A1-FEFE、658 コード ポイント。

(3) A140 ~ A7A0、672 コード ポイント。

エリア(3)は公開しておりますが、今後新たなキャラクターが追加される可能性が否定できないため、利用を制限させていただきます。

ここにいくつかのヒントがあります:

1. php では、文字エンコーディングは送信されたエンコーディングに基づいているため、ユーザーが入力したエンコーディングが使用され、自動的には変更されません。 ASP では、デフォルトのエンコーディングは Unicode であるため、gbk->unicode のエンコーディング比較テーブルを簡単に取得できるため、基本ライブラリがなくても gbk を utf-8 に簡単に実装できます。 GBK の上位ビットの最小値は 0x40、つまり 64 であるため、中国語を含む文字列を整理する場合は、64 より前の ASCII コードを使用して文字を区切るのが最適です。どのような状況でも分割できます。より一般的に使用される文字は、「,」、「;」、「:」、「 」、「 」、「 」です。これらの文字は、GB エンコードで混乱を引き起こすことはありません

推奨チュートリアル: 「

Java チュートリアル

以上がJavaコードでひし形文字化けが発生しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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