Intereting Posts
Как удалить коэффициент силы тяжести с показаний акселерометра на 3-осевом акселерометре Android Установить положение мыши на корневом устройстве Android Как получить указанное видео с sdcard в Android? Как получить доступ к ресурсу с динамическим именем в моем случае? Поиск хороших источников для значков, произведений искусства и т. Д. Resources.getIdentifier (), возможные значения аргумента deftype? Несколько диалогов ОК / Отмена, как сказать, в onClick (), в каком диалоговом окне? Редактирование аудио в Android Фоновое изображение не повторяется в макете android Android: как распространять событие click для дочерних элементов LinearLayout и изменять их возможности Android напоминание! INTENT.ACTION_VIDEO_CAPTURE не сохраняет файл в пользовательском местоположении Uri Android, как включить / отключить автоматическую синхронизацию программно Как получить цвет акцента программным путем? Как правильно разобрать Reddit API на Android

Как преобразовать строку unicode в ASCII в java

Теперь я пытаюсь преобразовать шрифт unicode в ascii в android. Я написал следующую кодировку для преобразования шрифта unicode в ascii, но это не удалось. Потому что результат не может отображаться должным образом после преобразования.

Unicode font = 'ေနေ ကာင္း ပါသလား' к чему-то вроде '\ 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());