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");
但是,这确实意味着您必须处理checkedUnsupportedCharsetException。
以下调用将使用默认字符集。默认字符集是特定于平台的,并且在Windows,Mac和Linux平台之间通常有所不同。
byte[] bytes = "test".getBytes();
相反:
String testString = new String(bytes);
请注意,无效的字符和字节可能会被这些方法替换或跳过。为了获得更多控制权(例如,验证输入),建议您使用CharsetEncoder和CharsetDecoder类。