簡體   English   中英

如何在Java中將字符序列轉換為UTF-8?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM