如何将 Java String 转换为 ASCII 字节数组?
原文由 farm ostrich 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将 Java String 转换为 ASCII 字节数组?
原文由 farm ostrich 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您是 番石榴 用户,则有一个方便的 Charsets
类:
String s = "Hello, world!";
byte[] b = s.getBytes(Charsets.US_ASCII);
除了不在源代码中硬编码任意字符集名称外,它还有一个更大的优势: Charsets.US_ASCII
是 Charset
类型(不是 String
你)检查 UnsupportedEncodingException
仅从 String.getBytes(String)
抛出,而不是从 String.getBytes(Charset)
抛出。
在 Java 7 中有等效的 StandardCharsets
类。
原文由 Tomasz Nurkiewicz 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.8k 阅读
4 回答1k 阅读✓ 已解决
4 回答632 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答656 阅读✓ 已解决
2 回答1.2k 阅读
使用
getBytes
方法,给它适当的Charset
(或Charset
名称)。例子:
如果需要更多控制(例如遇到 7 位 US-ASCII 之外的字符时抛出异常),则可以使用
CharsetDecoder
:在 Java 7 之前,可以使用:
byte[] b = s.getBytes("US-ASCII");
。 Java 7 中引入了枚举StandardCharsets
、编码器以及专门的getBytes(Charset)
方法。