[英]How can I convert a String in ASCII(Unicode Escaped) to Unicode(UTF-8) if I am reading from a file?
[英]how can I convert unicode string to ASCII in java
我現在正在嘗試將unicode字體轉換為android中的ascii。 我寫了下面的代碼將unicode字體轉換為ascii,但是失敗了。 因為轉換后結果無法正確顯示。
unicode字體='ေနေကာင္းပါသလား'到'\\ u100F \\ u1039 \\ u100D'之類的東西
public static String toJAVA (String zawgyi) {
String output = "";
char[] charArray = zawgyi.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char a = charArray[i];
if ((int) a > 255) {
output += "\\u" + Integer.toHexString((int) a) + "--";
} else {
output += a;
}
}
return output;
}
使用java.text.Normalizer類將unicode轉換為ascii。 這是來自答案的示例代碼https://stackoverflow.com/a/2097224/931982
String s = "口水雞 hello Ä";
String s1 = Normalizer.normalize(s, Normalizer.Form.NFKD);
String regex = Pattern.quote("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+");
String s2 = new String(s1.replaceAll(regex, "").getBytes("ascii"), "ascii");
System.out.println(s2);
System.out.println(s.length() == s2.length());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.