转换为字节
要将字符串编码为字节数组,只需使用 String#getBytes()
方法,并在任何 Java 运行时上使用其中一个标准字符集:
byte[] bytes = "test".getBytes(StandardCharsets.UTF_8);
并解码:
String testString = new String(bytes, StandardCharsets.UTF_8);
你可以使用静态导入进一步简化调用:
import static java.nio.charset.StandardCharsets.UTF_8;
...
byte[] bytes = "test".getBytes(UTF_8);
对于不太常见的字符集,你可以使用字符串指示字符集:
byte[] bytes = "test".getBytes("UTF-8");
反之亦然:
String testString = new String (bytes, "UTF-8");
但这意味着你必须处理已检查的 UnsupportedCharsetException
。
以下调用将使用默认字符集。默认字符集是特定于平台的,通常在 Windows,Mac 和 Linux 平台之间有所不同。
byte[] bytes = "test".getBytes();
反之亦然:
String testString = new String(bytes);
请注意,这些方法可能会替换或跳过无效字符和字节。为了更好地控制 - 例如验证输入 - 你被鼓励使用 CharsetEncoder
和 CharsetDecoder
类。