繁体   English   中英

如何在Java中将字符序列转换为UTF-8?

[英]How to convert a sequence of character to UTF-8 in Java?

很抱歉在这里提出基本问题。 对不起。

我在Unicode中有一个字符串序列,如下所示。

String unicode = "\u8BF7\u5728\u6B64\u5904\u8F93\u5165\u4EA7\u54C1\u7F16\u53F7\u6216\u540D\u79F0";

如何将其转换为中文文本或UTF-8文本?

字符串本身将始终使用Unicode; 我不确定“将其转换为中文文本”是什么意思,而是要使用UTF-8将其转换为二进制表示形式:

byte[] bytes = unicode.getBytes("UTF-8");

或者您可以使用Charset -例如,使用Guava库,您只需使用:

byte[] bytes = unicode.getBytes(Charsets.UTF_8);

(这避免了指定字符串的脆弱性,并且避免了担心捕获UnsupportedEncodingException 。)

或者您可以声明:

final static Charset UTF_8 = Charset.forName("UTF-8");

避免在整个类库中使用该库来解决字符串问题。

您在上面说过要输出到浏览器吗?...如果您使用的是servlet或类似的方法,则可以采用多种方法,因此您可能需要在问题中更具体一些,因为可以指定unicode / utf http响应标头或html输出中的-8 / utf-16,例如,在<head>元素内部输出以下标记:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM