Unicode編碼和中文互轉(JAVA實現)
/**
* 獲取字串的unicode編碼 漢字“木”的Unicode 碼點為Ox6728
*
* @param s
* 木
* @return \ufeff\u6728 \ufeff控制字元 用來表示「位元組次序標記(Byte Order Mark)」不佔用寬度
* 在java中一個char是採用unicode儲存的 佔用2個位元組 比如 漢字木 就是 Ox6728
* 4bit+4bit+4bit+4bit=2位元組
*/
public static String stringToUnicode(String s) {
try {
StringBuffer out = new StringBuffer("");
// 直接獲取字串的unicode二進位制
byte[] bytes = s.getBytes("unicode");
// 然後將其byte轉換成對應的16進製表示即可
for (int i = 0; i < bytes.length - 1; i += 2) {
out.append("\\u");
String str = Integer.toHexString(bytes[i + 1] & 0xff);
for (int j = str.length(); j < 2; j++) {
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str1);
out.append(str);
}
return out.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
/**
* Unicode轉 漢字字串
*
* @param str
* \u6728
* @return '木' 26408
*/
public static String unicodeToString(String str) {
Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
Matcher matcher = pattern.matcher(str);
char ch;
while (matcher.find()) {
// group 6728
String group = matcher.group(2);
// ch:'木' 26408
ch = (char) Integer.parseInt(group, 16);
// group1 \u6728
String group1 = matcher.group(1);
str = str.replace(group1, ch + "");
}
return str;
}
相關文章
- python實現中文和unicode轉換PythonUnicode
- Java Unicode互轉JavaUnicode
- python unicode轉中文及轉換預設編碼PythonUnicode
- 中文字串 轉 unicode 編碼的字串字串Unicode
- 中文轉換成unicode字元,實現國際化Unicode字元
- Python編碼和UnicodePythonUnicode
- C++ string互轉wstring/Unicode互轉ANSI/Unicode互轉UTF8C++Unicode
- 中文字元轉十六進位制Unicode編碼原始碼例項字元Unicode原始碼
- 中文被 json_encode 編碼成 unicode 之後如何轉換回中文JSONUnicode
- Unicode編碼解碼Unicode
- Java中文處理學習筆記——Hello Unicode (轉)Java筆記Unicode
- Java實現過濾中文亂碼Java
- 字元編碼:ASCII,Unicode和UTF-8字元ASCIIUnicode
- WindowsPhone的中文GB2312、GBK編碼與Unicode相互轉換WindowsUnicode
- [java]java實現哈夫曼編碼Java
- ptyon 特殊處理 url 編碼與解碼,字元編碼轉化 unicode字元Unicode
- Redis中文顯示為Unicode編碼 亂碼的解決辦法RedisUnicode
- C# Unicode編碼C#Unicode
- Java實現BCD編碼與十進位制轉換Java
- C++ UTF8 互轉 UnicodeC++Unicode
- GB2312 Unicode轉換表實現跨平臺utf8轉碼unicodeUnicode
- iOS Unicode轉中文(UTF-8)iOSUnicode
- JAVA的中文編碼問題Java
- Sql Server UniCode編碼解碼SQLServerUnicode
- 元件使用總結:使用 JAXB 實現 XML檔案和java物件互轉元件XMLJava物件
- java實現url轉碼、解碼Java
- java中文字串漢字轉GBK編碼Java字串
- python unicode 編碼整理PythonUnicode
- 阿呆學Unicode之編碼Unicode
- Java 如何獲取字元所對應的UniCode編碼Java字元Unicode
- 字元編碼筆記:ASCII,Unicode和UTF-8字元筆記ASCIIUnicode
- 字元編碼筆記:ASCII,Unicode 和 UTF-8字元筆記ASCIIUnicode
- 解碼返回Unicode編碼的文字Unicode
- java獲取unicode碼JavaUnicode
- Js中實現拼音和UrlEncode的功能(利用GB和Unicode對照表) (轉)JSUnicode
- 有關java的unicode編碼的問題,大家幫忙JavaUnicode
- unicode轉碼工具類Unicode
- UNICODE碼轉漢字Unicode