2016-10-21 10 views
0

これは文字列の文字セットを変更する正しい方法ですか?これは文字列の文字セットを変更する正しい方法ですか?

String str = "helloworld你好世界" 
String str2 = new String(str.getBytes("GBK"), "UTF-8"); 
System.out.println(str2); 
+2

[Encode String to UTF-8]の可能な複製(http://stackoverflow.com/questions/5729806/encode-string-to-utf-8) – DimaSan

+0

あなたの質問は不明です:文字列には文字セット... – assylias

答えて

1

java.lang.Stringオブジェクトの「文字セット」を変更することはできません。要素として使用できる「文字セット」は、Unicodeで定義されています。エンコードはUTF-16として固定されています。

あなたはjava.lang.StringでSのUTF-8エンコーディング、時間の

byte[] bytes = s.getBytes("UTF-8"); 

ほとんどを使用を表すバイトのシーケンスをしたい場合は、この変換は、I/Oの間に行われます、従っとにかくあなたのシステムのデフォルトの文字セットに変換します。

0

文字列は文字列を読み取る単なる方法です。文字列とバイト[]を変換する方法を定義するだけです。

コードでは文字列の文字セットを変更できません。あなたのコードは、文字列を読み込む間違った方法を定義するだけです。

関連する問題