Моя жена получает какие-то странные текстовые сообщения в качестве ответов посреди разговоров со своими друзьями. Сообщения представляют собой блоки китайских иероглифов. Она получает их в стандартном приложении для обмена сообщениями от друзей, которые используют телефоны Samsung и iPhone. Она использует Nexus 5X на AT&T. ( Примечание . Другие пользователи задавали тот же вопрос о Samsung Galaxy S7, так что это не проблема конкретного телефона.)
Вот сегодняшний скрин от пользователя айфона, и перевод текста не имеет смысла (хотя перевод изображения я сделал): :
(Нажмите, чтобы увидеть изображение в полном размере)
Вот один из телефона Samsung и с их конца:
(Нажмите, чтобы увидеть изображение в полном размере)
Кто-нибудь знает, почему это происходит? Это что-то странное, когда кто-то со странным приложением для обмена текстовыми сообщениями отвечает какими-то смайликами/GIF/изображениями?
Вероятно, это вызвано несовместимостью кодировки символов и/или неправильной кодировкой символов, что приводит к моджибаке (искаженному тексту):
Несовместимость кодировки символов
SMS или текстовые сообщения обычно поддерживают только текст (например, GSM 03.38) или Unicode (например, UTF-8, UTF-16, UCS-2). Эмодзи , символ, напоминающий изображение (не путать с смайликом , « графическим представлением выражения лица с использованием знаков препинания, цифр и букв »), поддерживается в Unicode (UTF-16), но не в GSM 03.38.
Проблема с неправильной кодировкой символов
. По некоторым причинам исходная кодировка символов где-то неправильно интерпретируется (например, приложением или поставщиком текста), что приводит к другой кодировке символов. Хотя в некоторых случаях это не влияет на текст, в других случаях текст может быть полностью искажен (см . ошибку Microsoft Windows « Буш спрятал факты » ).
В данном случае вполне вероятно, что одна из кодировок, которая используется в SMS, GSM. 03.38, в котором используется 7 бит на символ , интерпретируется как UTF-16, в котором используется 16 бит на символ из-за эмодзи.
Получатели
Попробуйте изменить приложение для обмена сообщениями. Если это не решит проблему, то, вероятно, она вызвана самим текстовым провайдером. Однако вы все равно можете попытаться восстановить текст (например, с помощью онлайн-сервиса, такого как http://string-functions.com/encodedecode.aspx ): установите кодировку в UTF-16 и декодирование в UTF-8.
Отправители
Избегайте эмодзи вообще или заставляйте приложения для обмена сообщениями отправлять их только в текстовом виде (например, в Google Messenger в расширенных настройках есть только простые символы для преобразования специальных символов в SMS-сообщениях при отправке) .
Дальнейшее чтение:
NobleUplift
Златты