ホームページ  >  に質問  >  本文

如图,java中同样是utf-8存储的字符串,为什么这两种方式输出的字节会不同?

PHP中文网PHP中文网2741日前523

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-18 10:50:35

    まず、エンコードが統一され、ファイルがエンコードされていることを確認してくださいUTF-8,以UTF-8去读文件,getBytes也传入UTF-8
    また、メモ帳は使用しないでください。メモ帳は使わないでください!メモ帳は使わないでください!大事なことは3回言いましょう! ! !

    返事
    0
  • 迷茫

    迷茫2017-04-18 10:50:35

    Java8 のドキュメントには、String.getBytes() はプラットフォームのデフォルトの文字セットに従ってエンコードされると記載されています。 Windows の場合、デフォルトの文字セットは utf-8 ではなく gbk です。 Linux は設定に依存します (正確にはわかりません)。

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

    この文字列をデフォルトの文字セットでエンコードできない場合のこのメソッドの動作は未指定です。エンコード プロセスをさらに制御する必要がある場合は、CharsetEncoder クラスを使用する必要があります。

    ポータル: String.getBytes()

    返事
    0
  • キャンセル返事