ホームページ >Java >&#&ベース >Javaの文字化け解決入門

Javaの文字化け解決入門

尚
オリジナル
2019-12-02 11:10:373055ブラウズ

Javaの文字化け解決入門

Java 文字列が文字化けする解決策: (推奨: Java ビデオ チュートリアル )

System.out.println(str);
            String str1 = new String(str.getBytes("ISO-8859-1"), "utf-8");
            System.out.println(str1);
            String str2 = new String(str.getBytes("gb2312"), "utf-8");
            System.out.println(str2);
            String str3 = new String(str.getBytes("gbk"), "utf-8");
            System.out.println(str3);

str.getBytes(charsetName);charsetName は元の文字です。

「utf-8」は、str を utf-8 エンコーディングに変換することです。

new String(str.getBytes("gbk"),"iso8859-1")

ステップ 1: byte[] bytes=str.getBytes("gbk")

「gbk」メソッドで中国語をバイト配列に変換するように Java 仮想マシンに指示します。漢字 1 文字は 2 バイトに相当します。

対応する 2 番目のステップは次のとおりです:

String s=new String(bytes, "iso8859-1") の場合、各バイトは "?" に組み立てられます。このとき、s は複数の「?」ですが、「?」を特殊な漢字とみなして、それが表す情報を失わずに復元できます。

java.lang.String.getBytes(String charsetName) メソッドは、指定された文字セットを使用してこの String をバイト シーケンスにエンコードし、結果を新しいバイト配列に格納します。

宣言

以下は java.lang.String.getBytes() メソッドの宣言です

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException

パラメータ: charset -- これはサポートされている文字の名前ですセット。

戻り値: このメソッドは、結果のバイト配列を返します。

new String(byte[],decode) メソッド

getBytes と比較して、new String(byte[], decode),

## を通じて「中」文字を復元できます。 #This new String(byte[],decode) 実際には、指定されたエンコード デコードを使用して、byte[] を文字列に解析します。

Exception: UnsupportedEncodingException -- 指定された文字セットがサポートされていない場合。

Java についてさらに詳しく知りたい場合は、

Java 基本チュートリアル 列に注目してください。

以上がJavaの文字化け解決入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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