Java到/从字节转换

示例

要将字符串编码为字节数组,您可以简单地使用方法,在任何Java运行时上都可以使用一种标准字符集:String#getBytes()

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");

但是,这确实意味着您必须处理checked UnsupportedCharsetException。


以下调用将使用默认字符集。默认字符集是特定于平台的,并且在Windows,Mac和Linux平台之间通常有所不同。

byte[] bytes = "test".getBytes();

相反:

String testString = new String(bytes);


请注意,无效的字符和字节可能会被这些方法替换或跳过。为了获得更多控制权(例如,验证输入),建议您使用CharsetEncoder和CharsetDecoder类。