1. ホーム
  2. java

[解決済み] Java バイトバッファから文字列

2022-05-09 22:29:24

質問

このようにByteBufferをStringに変換するのは正しい方法でしょうか。

String k = "abcd";
ByteBuffer b = ByteBuffer.wrap(k.getBytes());
String v = new String(b.array());

if(k.equals(v))
    System.out.println("it worked");
else
    System.out.println("did not work");

なぜこのような質問をするかというと、これはあまりにも単純すぎるように見えるからです。 Javaです。文字列のByteBufferへの変換とそれに伴う問題 はもっと複雑に見えます。

解決方法は?

をデコードするには、もっと簡単な方法があります。 ByteBufferString を問題なく実行できることを、Andy Thomasが述べています。

String s = StandardCharsets.UTF_8.decode(byteBuffer).toString();