很抱歉在这里提出基本问题。请原谅我。
我在unicode中有一个字符串,如下所示。
String unicode = "\u8BF7\u5728\u6B64\u5904\u8F93\u5165\u4EA7\u54C1\u7F16\u53F7\u6216\u540D\u79F0";
如何将其转换为中文文本或UTF-8文本?
答案 0 :(得分:3)
String本身将始终使用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");
在你班级的顶层,以避免整个库作为字符串的治疗方法。
答案 1 :(得分:0)
你上面说过你输出到浏览器了吗?...如果你正在使用servlet或类似的方法有各种各样的方法,你可能需要在你的问题中更具体一些,因为你可以指定http响应头或html输出中的unicode / utf-8 / utf-16,例如在<head>
元素内输出以下标记:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">