0
byte配列から文字列変換
質問です。
String a = new Stirng("あ")
byte[] ff = a.getBytes();
をした時に、Byte配列ffから文字列"あ"を取得する場合は
どのようにすれば宜しいでしょうか。
よろしくお願い致します。
0
質問です。
String a = new Stirng("あ")
byte[] ff = a.getBytes();
をした時に、Byte配列ffから文字列"あ"を取得する場合は
どのようにすれば宜しいでしょうか。
よろしくお願い致します。
0
String b = new String( ff );
これで取得できます。
--------------------------------------------
String(byte[] bytes)
プラットフォームのデフォルト文字セットを使用して、指定されたバイト配列を復号化することによって、新しい String を構築します。
0
>プラットフォームのデフォルト文字セットを使用
これがポイントであり、落とし穴でもあります。
たとえばWindowsで
byte[] ff = "あ".getBytes();
したffをUnixで
String a = new String(ff);
しても、元に戻りません。
Javaではこのように、プラットフォーム依存になる部分は極力無くして置いたほうが良いです。
byte [] ff = "あ".getBytes("Shift_JIS");
String a = new String(ff, "Shift_JIS");
なら、どの環境でも正しく動作します。
質問から6ヶ月以上経過しているので、回答を書き込むことはできません。