1. ホーム

[解決済み】Javaで文字列をUTF8バイト配列と相互変換する方法

2022-04-02 04:05:36

質問

Javaで、文字列があり、それをバイト配列(UTF8、または他のエンコーディング)としてエンコードしたい。あるいは、(既知のエンコーディングの)バイト配列を持っていて、それをJavaの文字列に変換したいのです。これらの変換はどのように行うのですか?

どのように解決するのですか?

Stringからbyte[]に変換してください。

String s = "some text here";
byte[] b = s.getBytes(StandardCharsets.UTF_8);

byte[]からStringに変換します。

byte[] b = {(byte) 99, (byte)97, (byte)116};
String s = new String(b, StandardCharsets.US_ASCII);

もちろん、正しいエンコーディング名を使用する必要があります。私の例では、US-ASCIIとUTF-8という、最も一般的な2つのエンコーディングが使われています。