Имею приложение. 2 EditText, один - поле ввода текста в utf,
второй - вывод преобразованного текста в формате \uXXXX\uXXXX\uXXXX
Я ввожу: "Привет"
, а в ответ должен получить "\u041f\u0440\u0438\u0432\u0435\u0442"
Нашел в интернете вот такой код, но у меня не заработало:
String ucs = ed_utf.getText().toString(); //получаю входные данные
try {
byte[] utf8 = ucs.getBytes("UTF-8");
String unicodeData = new String(utf8, "UTF-8");
ed_unicode.setText(unicodeData); //передаю строку в EditText2
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Выводится то же самое, что в входном EditText
Можно попробовать вот так:
private static String getUnicodeCodes(String str) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < str.length(); i++)
result.append("\\u" + Integer.toHexString(str.charAt(i) | 0x10000).substring(1));
return result.toString();
}
Решение позаимствованно отсюда
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Зачем нужен усовершенствованный и появившийся в JDK 7 оператор try-c-ресурсами?