Reputation: 4595
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 ?
Upvotes: 1
Views: 4042
Reputation: 3750
You said above you are outputting to the browser?...If you're using a servlet or similar there are various ways of doing it, you may need to be a bit more specific in your question, because you can specify unicode/utf-8/utf-16 in the http response header or in the html output, e.g. outputting the following tags in the inside the <head>
elements:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Upvotes: 0
Reputation: 1502686
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.
Upvotes: 3