先貼出處吧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; } }