在Java中,我有一个字符串,我想把它编码成一个字节数组(UTF8或其他编码)。或者,我有一个字节数组(以某种已知的编码),我想把它转换成一个Java字符串。我如何做这些转换?
从字符串转换为字节[]。
String s = "some text here";
byte[] b = s.getBytes(StandardCharsets.UTF_8);
从byte[]转换为字符串。
byte[] b = {(byte) 99, (byte)97, (byte)116};
String s = new String(b, StandardCharsets.US_ASCII);
当然,你应该使用正确的编码名称。我的例子使用了US-ASCII和UTF-8这两种最常见的编码。
String original = "hello world";
byte[] utf8Bytes = original.getBytes("UTF-8");