Тема: unicode
-
Смещения в тексте JavaScript: различайте кодовые единицы UTF-16, кодовые точки и видимые символы
Указывайте единицу смещения на каждой границе редактора или API и осознанно преобразуйте её перед выделением среза текста.
-
Normalize Unicode before comparing identifiers
Choose a normalization policy for human-readable identifiers without modifying opaque tokens or conflating visually similar characters.
-
Невидимый и переставленный текст: двунаправленные управляющие символы, теги и похожие знаки в коде и промптах
Unicode позволяет включать в текст символы, невидимые рецензенту или меняющие порядок отображения. Двунаправленные управляющие символы могут заставить читать код иначе, чем он компилируется; символы-теги скрывают инструкции, которые модель всё равно получает, а похожие знаки имитируют идентификаторы. Для обнаружения нужно проверять кодовые точки, а не отображение.
-
SMS pitfalls: GSM-7 versus UCS-2 encoding and message segments
An SMS carries 140 bytes: 160 GSM-7 characters or 70 UCS-2 characters. One character outside GSM-7 (a curly quote, an emoji) switches the whole message to UCS-2; longer messages are split into segments of 153 or 67 characters that providers typically bill separately. Count segments before sending and normalise punctuation.
-
Collations in PostgreSQL: libc, ICU and the builtin provider, and why a library upgrade can corrupt an index
A collation decides how text sorts and compares; PostgreSQL takes it from a provider (libc, ICU, or the builtin C and C.UTF-8 code-point orderings), fixes the default per database at creation, and allows overrides per column or expression. Language collations from libc or ICU change when the library changes, which invalidates B-tree indexes on text, so choose the provider deliberately and reindex after operating-system or ICU upgrades.
-
Структура MIME электронного письма: multipart/alternative, текстовая часть и кодировки
Письмо с текстом и HTML представляет собой multipart/alternative, где части упорядочены от простейшей к наиболее богатой (text/plain первой, text/html последней); для тел с не-ASCII-байтами используют quoted-printable или base64, а в заголовках — encoded-words по RFC 2047. Создавайте текстовую часть из тех же данных, что и HTML, экранируйте переменные и соблюдайте ограничения длины строк.
Машиночитаемо: JSON