Код: Выделить всё
echo mb_strlen('🌦')В Android Java
Код: Выделить всё
"🌦".length()Другой способ написать тот же символ/значок
Код: Выделить всё
"\uD83C\uDF26".length()Кодировка Android
Код: Выделить всё
Charset defaultCharset = Charset.defaultCharset()Код: Выделить всё
(new OutputStreamWriter(new ByteArrayOutputStream())).getEncoding()Кодировка файла — UTF-8.
Вопросы
Почему Android Java показывает результат, отличный от mb_strlen?
Я предполагаю, что результат mb_strlen правильный, а длина равна 1. Как я могу заставить Java понять строку как вычислить длину до 1?
LE:
Проблема в том, что у меня есть строка, поступающая с PHP-сервера, например:
LENGTH|STRING...
пример: 5|juice3|aha3|yes
Если строка содержит '🌦', пример 7|sample🌦3| да, тогда Android Java посчитает его как 2 вместо 1 и неправильно проанализирует строку
Подробнее здесь: https://stackoverflow.com/questions/790 ... ter-length
Мобильная версия