Java將中文轉換成unicode字符。


先貼出處吧http://ljhzzyx.blog.163.com/blog/static/38380312201037102843515/

在看Java國際化程序的實現。從最基礎的建立不同國家的屬性文件開始吧。

中文:你好!

英語:Hello!

法語:Bonjour!

在屬性文件定義時必須按照“名稱_國家代碼”的形式命名(),即所以屬性文件的名稱必須一樣,只有國家代碼不一樣。

怎么獲取不同國家的ISO編碼呢?

1.可以直接去搜索

2.如果覺得麻煩也可以直接在IE瀏覽器中查看各個國家的編碼,因為IE瀏覽器可以適應各個國家的語言要求。具體步驟(IE9瀏覽器):"Internet選項",在打開對話框中選擇“常規”選項卡,單擊"語言"按鈕,再單擊"添加"按鈕,就會出現各個國家的編碼。

下面說說中文裝unicode的方法吧。

在jdk的bin目錄下有個轉換工具:native2ascii,運行native2ascii加要轉換的內容則可轉換成unicode碼,

帶參數運行:native2ascii -reverse,則可從unicode碼轉成原有字符。

寫好屬性文件message_zh_CN.properties。為求簡便,將其放置在bin目錄下

執行 native2ascii message_zh_CN.properties 123.txt

打開123.txt就可以看到轉換好的文件。

 

 

再看看代碼實現吧。

/**
* 中文到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;
}

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM