在 Java 中,我有一个字符串,我想将它编码为字节数组(在 UTF8 或其他编码中)。或者,我有一个字节数组(采用某种已知编码),我想将其转换为 Java 字符串。我如何进行这些转换?
原文由 mcherm 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Java 中,我有一个字符串,我想将它编码为字节数组(在 UTF8 或其他编码中)。或者,我有一个字节数组(采用某种已知编码),我想将其转换为 Java 字符串。我如何进行这些转换?
原文由 mcherm 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是避免为每次转换执行 Charset 查找的解决方案:
import java.nio.charset.Charset;
private final Charset UTF8_CHARSET = Charset.forName("UTF-8");
String decodeUTF8(byte[] bytes) {
return new String(bytes, UTF8_CHARSET);
}
byte[] encodeUTF8(String string) {
return string.getBytes(UTF8_CHARSET);
}
原文由 M. Leonhard 发布,翻译遵循 CC BY-SA 2.5 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
从
String
转换为byte[]
:从
byte[]
转换为String
:当然,您应该使用正确的编码名称。我的示例使用了 US-ASCII 和 UTF-8,这是两种常用的编码。