[英]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.