String =新しい文字列の違いは何ですか(s.getBytes( "UTF-8")、 "UTF-8"); そして、文字列S =新しい文字列(s.getBytes()、 "UTF-8");

ジャラSureshreddy:

違いは何ですか

String(s.getBytes("UTF-8"),"UTF-8"); 

そして

String(s.getBytes(),"UTF-8");

最初のコード例では、特殊文字の一部は、なぜデコードなっているとの違いは何ですか?

私は二重のデコードを使用している場合、何に影響を与えるだろうかUTF-8

GhostCat敬礼モニカC.:

以下からのjavadoc

以下の場合getBytes()

結果を新規バイト配列に格納し、プラットフォームのデフォルト文字セットを使用してこのStringをバイトシーケンスにエンコードします。

一方、getBytes(Charset)こう述べています。

新しいバイト配列に結果を格納し、指定された文字セットを使用してこのStringをバイトシーケンスに符号化します。

第二版は、あなたが完全な制御を取ることができますので、最初の呼び出しは、そのプラットフォームのデフォルトの文字セットに依存しています。

つまり、こので全部です。

その「プラットフォームのデフォルト」については、こちらを例えば。そして、人々は、単に(参照軒並みUTF-8であることをデフォルトにするために求めていることに注意してくださいここに)。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=196807&siteId=1