中文到unicode編碼轉換

來源:互聯網
上載者:User

 代碼:

/**
* 中文到unicode編碼的轉換
*/
public class UnicodeTest {

public static void main(String[] args) {
    String cn = "懷念外婆屋後的柚子樹";
    System.out.println(cnToUnicode(cn));
    // 字串 : \u5f00\u59cb\u4efb\u52a1 ,由於 \ 在java裡是逸出字元,要寫出下面這種形式
    String unicode = "\\u5f00\\u59cb\\u4efb\\u52a1";
    System.out.println(unicodeToCn(unicode));
}

private static String unicodeToCn(String unicode) {
    /** 以 \ u 分割,因為java注釋也能識別unicode,因此中間加了一個空格*/
    String[] strs = unicode.split("\\\\u");
    String returnStr = "";
    // 由於unicode字串以 \ u 開頭,因此分割出的第一個字元是""。
    for (int i = 1; i < strs.length; i++) {
      returnStr += (char) Integer.valueOf(strs[i], 16).intValue();
    }
    return returnStr;
}

private static String cnToUnicode(String cn) {
    char[] chars = cn.toCharArray();
    String returnStr = "";
    for (int i = 0; i < chars.length; i++) {
      returnStr += "\\u" + Integer.toString(chars[i], 16);
    }
    return returnStr;
}

}

    同時,在jdk的bin目錄下有個轉換工具:native2ascii,運行native2ascii則可轉換成unicode碼,帶參數運行:native2ascii -reverse,則可從unicode碼轉成原有字元。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.