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
- 中文字串 轉 unicode 編碼的字串字串Unicode
- C++ string互轉wstring/Unicode互轉ANSI/Unicode互轉UTF8C++Unicode
- 中文被 json_encode 編碼成 unicode 之後如何轉換回中文JSONUnicode
- Unicode編碼解碼Unicode
- ptyon 特殊處理 url 編碼與解碼,字元編碼轉化 unicode字元Unicode
- C++ UTF8 互轉 UnicodeC++Unicode
- Unicode編碼介紹Unicode
- Redis中文顯示為Unicode編碼 亂碼的解決辦法RedisUnicode
- unicode轉碼工具類Unicode
- Java實現BCD編碼與十進位制轉換Java
- java中文字串漢字轉GBK編碼Java字串
- Java實現過濾中文亂碼Java
- Java 如何獲取字元所對應的UniCode編碼Java字元Unicode
- 解碼返回Unicode編碼的文字Unicode
- 元件使用總結:使用 JAXB 實現 XML檔案和java物件互轉元件XMLJava物件
- 字符集編碼(三):UnicodeUnicode
- Unicode編碼 - 代理區和4位元組codePointUnicode
- Unicode編碼解碼的全面介紹Unicode
- unicode編碼 asis_2019_unicorn_shopUnicode
- 字符集編碼(上):Unicode 之前Unicode
- 帶你瞭解 Unicode和UTF-8編碼知識Unicode
- PHP中文GBK編碼轉UTF-8PHP
- Python 編碼轉換與中文處理Python
- AI來實現程式碼轉換!Python轉Java,Java轉Go不在話下?AIPythonJavaGo
- 用Javascript實現UTF8編碼轉換成gb2312編碼JavaScript
- json.dumps(data.__dict__) 會把中文字元轉義為 Unicode 碼點JSON字元Unicode
- 音樂格式轉換:java程式碼實現Java
- java安全編碼指南之:字串和編碼Java字串
- [20231012]如何檢視unicode編碼內容.txtUnicode
- 字元編碼:Unicode & UTF-16 & UTF-8字元Unicode
- 影片轉碼編輯工具:Cornpressor for Mac中文版Mac
- Python 中文編碼Python
- JAVA實現編寫平臺程式碼生成器Java
- JavaScript 如何正確處理 Unicode 編碼問題!JavaScriptUnicode
- JavaScript如何正確處理Unicode編碼問題!JavaScriptUnicode
- Unicode、GBK、UTF-8、ASCII的編碼簡介UnicodeASCII
- Qt處理中文編碼出現錯誤QT