#unicode

8 постов
пост №1604

Отличный технический стендап про кодировки — то, как компьютеры хранят и обрабатывают текст и почему раньше мы регулярно сталкивались с «Р·Р°РїСѓСЃРє», «Đ·Đ°Đ¿ÑƒÑ�Đº» и «п╥п╟п©я┐я», а теперь всё норм.

Куча супер классных примеров и баек из жизни. Например, почему концерт Билли Джоэля в Ленинграде называется на всех стриминингах «kohuept» (это в конце восьмидесятых так вбили слово КОНЦЕРТ на латинице) или почему город Aarhus стоит в конце алфавитного списка (виноваты вторая мировая и гугл).

Мечтаю сделать про это эпизод подкаста и не уверен, что у нас получится увлекательнее; целый час удовольствия https://www.youtube.com/watch?v=gd5uJ7Nlvvo

пост №1539

Классная и довольно безумная история о Unicode-символе, предназначение которого никто не знает.

Unicode — огромная таблица письменных символов, которые нужны человечеству. Даже больше, это стандарт, описывающий, как мы — люди что-либо записываем.

Именно благодаря юникоду мы можем написать в одном сообщении слово на русском, слово на английском, слово на арабском, китайский иероглиф и разбавить это всё эмоджи. Технически это чудо.

Стандарт включает 144 тысячи символов из 159 систем письма. В общем, это система, в которой соседствуют буква «а», эмоджи «❤️» и древнеегипетский иероглиф члена «𓂸».

Не знал, что в юникоде есть и такие вот затерянные символы, которые переехали в него из каких-то прошлых систем. Великая сила преемственности (legacy).

Выглядит символ так: «⍼», а называется он «прямой угол с зигзагообразной стрелкой вниз» 🤷‍♀️

пост №782

BRKNG: в юникоде есть символы пениса и появились они благодаря древним египтянам. Пользуйтесь на здоровье: 𓂸, 𓂺.

P.S. Дорогие пользователи Windows или Google Chrome - вот так выглядят шрифты здорового человека:

пост №599

P.S. Android-пользователи жалуются, что у них вместо Unicode-символов 𝑥 (mathematical italic small x), 𝑐, 𝑢 и 𝑛 в тексте показывается вытянутый прямоугольник ☐. Так мы узнали, что в Android-ах (видимо, речь идет о системном Roboto) нет ключевых математических символов. Приземление в реальность.

Проблему можно починить, добавив в медузные шрифты нужные глифы (артдиректор в отпуске, дизайн отдел и так перегружен) или заменив красивые специальные буквы типа 𝑥 на обычные курсивные английские x. Так и сделали. Извините, что сразу не догадались.

пост №482

Представьте, вы получили секретный документ. Как не запалить источник?

Как и в других ситуациях связанных с безопасностью, представим себе на месте противника.

Какие есть способы пометить документ?

Начнем с простого: при печати, современные принтеры добавляют невидимые невооруженному глазу точки. Если ваш источник распечатал документ на работе и противник получил высококачественные сканы или оригиналы бумаг — источник сгорел. Решение — распознавать текст, никогда не выкладывать сканы.

Если говорить о цифровой передаче, то есть несколько механизмов. Самый кондовый — умышленно допустить разные орфографические ошибки в разных версиях файла. Вариант поизощреннее - заменять буквы на похожие. Кириллическую (русскую) букву «а» сложно отличить на глаз от латинской (английской) буквы «a», но это разные символы. Даём каждому потенциальному источнику «утечки» файл с уникальными заменами и потом смотрим, какая версия оказалась в паблике. У этого способа есть недостаток — компьютерная проверка орфографии живо выявит все такие «метки».

Сегодня я наконец-то увидел в паблике гораздо более крутой способ, основанный на «символах нулевой ширины». Вот самые известные: разделитель нулевой ширины, нужный, чтобы две буквы не «слиплись» в лигатуру; пробел нулевой ширины, порой используемый для расстановки «точек желаемого переноса»; и соединитель нулевой ширины, который, как ни странно, соединяет две буквы, которые иначе бы не слиплись (используется, например, в арабском).

Как вы уже наверное догадались, эти символы можно щедро расставить в тексте (даже автоматически, на каждое скачивание секретного файла отдавать его с уникальным «цифровым отпечатком»), и потом точно определить источник утечки. Я только что проверил популярные типографы, все они оставляют эти символы нетронутыми.

Добрый человек уже написал скрипт для очистки текстов от этих символов. Вообще, есть гарантированный способ избавиться от всех этих меток: распечатать секркетный текст, отсканировать и распознать его обратно. Ну или перенабрать интересующий кусочек руками.

Вариант, когда в тексте заменяются слова на синонимы тоже имеет право на жизнь. Существует специализированный софт, который автоматизирует эти вещи.

Для желающих позалипать в википедию - вот релевантная статья про «canary trap».

пост №55

Прекрасная статья про ньюансы Unicode https://eev.ee/blog/2015/09/12/dark-corners-of-unicode/

Есть целая категория компьютерных статей, при чтении которых, после каждого абзаца думаешь: "ну все, у всего должен быть предел"; а потом замечаешь, какой маленький в верхнем правом углу скроллбар. 👹

Весь текст целиком состоит из панчлайнов и интересных деталей вроде реализации эмоджи-флагов: это две пары символов, где первый символ в паре - специальная метка, а второй - буква из двубуквенного ISO-кода страны 🇷🇺