简体   繁体   中英

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

Sorry for asking basic questions here. Pardon me.

I have a sequence a string in this in unicode as follows.

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

How can I convert this to Chinese text or the UTF-8 text ?

The String itself will always be in Unicode; I'm not sure what you mean by "convert this to Chinese text" but to convert it to the binary representation using UTF-8 you'd use:

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

or you can use the Charset - using the Guava library for example, you'd just use:

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

(This gets round the brittleness of specifying a string, and avoids worrying about catching UnsupportedEncodingException .)

Or you can declare:

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

at the top of your class to avoid a whole library as a cure for the string.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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