Как этот парень взломал 140-символьный лимит Twitter?

Сегодня я был удивлен, увидев, что парень взломал 140-символьный лимит Twitter. Сообщение состоит из 930 символов. Как это возможно?

Прямая ссылка на этот твит здесь . Для удобства я копирую скриншот полного твита ниже:

введите описание изображения здесь>> </p></body></html>

36 голосов | спросил Mehper C. Palavuzlar 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 16:44:11 +0400 2011, 16:44:11

2 ответа


41

В сообщении содержатся точки суррогатного кода Unicode, которые неправильно кодируются как UTF-8. Подобное неправильное кодирование также называется CESU-8 . Похоже, что некоторые интерфейсы Twitter признают суррогатные коды CESU-8 в качестве символов (с целью ограничения 140 символов), но для целей отображения он ожидает действительный UTF-8, и это недействительные последовательности UTF-8. Таким образом, вместо этого они отображают 3 байта каждой из этих последовательностей в виде 3-х восьмеричных escape-последовательностей C-стиля по 4 символа, и каждая суррогатная кодовая точка заканчивается отображением с использованием 12 символов.

Например, \ 355 \ 240 \ 265 \ 355 \ 263 \ 220, когда декодируется как C-экранированный UTF-8, без отклонения суррогатов, как это обычно делается при декодировании UTF-8, декодирует суррогатную пару U + D835 U + DCD0. Рассмотрение этой суррогатной пары как UTF-16, как это было бы сделано при декодировании CESU-8, выдает символ Unicode U + 1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A (

ответил mark4o 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 23:01:08 +0400 2011, 23:01:08
3

Каждая группа символов, начинающаяся с обратного слэша и сопровождаемая тремя номерами, представляет собой « Escape Sequence ". Каждый из них представляет собой один символ. Они обычно используются для символов, которые не существуют на вашей клавиатуре, таких как символы и символы на английском языке.

Я предполагаю, что при подсчете символов Twitter подсчитывает каждую из этих групп как один символ, но при отображении их в браузере он печатает их как четыре.

Update:

Некоторые из доступных escape-последовательностей являются «управляющими символами». Они говорят компьютеру что-то делать, например, воспроизводить звуковой сигнал или перемещать курсор влево или вправо, вверх или вниз или удалять символ слева от курсора. Хотя ни один из них не последний, о котором я упомянул (удаление предыдущего персонажа), он, возможно, использовал этого персонажа, чтобы запутать Twitter.

Интересно, что когда он вернулся к нормальным символам, он довольно повторяется и выглядит примерно так:

í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ 

Обновление 2:

Объяснение, которое он дал, было «ÐŸÐ¸ÑиÑ,Ðμ в DM, Ð²Ñ ÐμгÐ'Ð ° нР° Ñ Ð²Ñ Ð · и)», который Google Translate сообщает мне: «Напишите DM, всегда при подключении», ». Я не уверен, что это значит или как это помогает.

ответил Ladadadada 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 19:04:16 +0400 2011, 19:04:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132