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

如何在Java中将字符序列转换为UTF-8?,java,unicode,Java,Unicode,很抱歉在这里问了一些基本的问题。对不起 我有一个unicode格式的字符串序列,如下所示 String unicode = "\u8BF7\u5728\u6B64\u5904\u8F93\u5165\u4EA7\u54C1\u7F16\u53F7\u6216\u540D\u79F0"; 如何将其转换为中文文本或UTF-8文本?字符串本身将始终使用Unicode;我不确定“将其转换为中文文本”是什么意思,但要使用UTF-8将其转换为二进制表示,您需要使用: byte[] bytes = unic

很抱歉在这里问了一些基本的问题。对不起

我有一个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");
或者您可以使用
字符集
——例如,使用库,您只需使用:

byte[] bytes = unicode.getBytes(Charsets.UTF_8);
(这绕过了指定字符串的脆弱性,并避免了担心捕获
不受支持的codingexception

或者您可以声明:

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

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

您在上面说过您正在向浏览器输出?…如果您使用的是servlet或类似服务,有多种方法可以实现,您可能需要在问题中更具体一点,因为您可以在http响应头或html输出中指定unicode/utf-8/utf-16,例如在
元素内部输出以下标记:


约翰,Charsets.UTF_8来自哪里?它不是在Java1.6中。@b参数:它是在番石榴中(参见)”请在此处输入产品编号或名称" 这是我在浏览器上对Unicode输入的预期文本。我如何才能做到这一点?@thndrkiss:您需要确保在HTTP响应中指定的编码与实际发送的编码匹配。@thndrkiss:如果您使用的是JSP,那么您通常不必担心转换,只要您指定一个实际有效的编码即可支持所有必需的字符(如UTF-8)。