Unicode загажен.

Наверное, многие знакомы с этой замечательной историей, что были коды ASCII, сначала семибайтовыесемибитные(стандартная латиница, цифры и ещё немного символов), потом их расширили до восьми байтбит, чтобы кодировать символы национальных алфавитов (диакритики или кирилицы-глаголицы).
Но потом было решено, что это непорядок, что у символов с кодом больше 127 может быть несколько расшифровок в зависимости от страны (или это кириллическая буква, или же какая-нибудь латиница с диакритиком, кроме того, иероглифы так не закодировать. Поэтому было принято решение придумать новую кодировку, чтобы по коду символа всегда можно было понять, что это за символ. Эта система получила название Юникод (Unicode)
Один код — один символ ещё как-то соблюдается, но вот один и тот же символ может иметь несколько кодов в современном Юникоде.
Например, простой латинский алфавит там дублируется многократно. Здесь вы найдёте достаточно обширные вариации
Вот, к примеру, несколько вариантов для слова Weather(погода)
𝔚𝔢𝔞𝔱𝔥𝔢𝔯 𝕎𝕖𝕒𝕥𝕙𝕖𝕣 𝐖𝐞𝐚𝐭𝐡𝐞𝐫 𝑊𝑒𝑎𝑡ℎ𝑒𝑟 𝒲ℯ𝒶𝓉𝒽ℯ𝓇 𝚆𝚎𝚊𝚝𝚑𝚎𝚛
Да, буква «W» каждый раз имеет разный код, визуальные эффекты достигнуты именно этим, а не изменениями семейства шрифта, его жирности, установки курсива, как ещё недавно было принято в приличном обществе.
При этом, понятное дело, для кириллицы всех эти вариацией нет.
Кроме того, в Юникод запиханы всевозможные картинки.
Всевозможная гламурь!
👠 👡 💄 💎 💍
Цветные сердечки!
🧡 💛 💚 💙 💜 🖤 ❤
Цветочки!
💮 🌸 🌷 🌹 🌺 🌻 🌼 🥀
Положения часовой стрелки!
🕐 🕑 🕒 🕓 🕔 🕕🕖 🕗 🕘 🕙 🕚 🕛🕜 🕝 🕞 🕟 🕠 🕡🕢 🕣 🕤 🕥 🕦 🕧
Всякие «культурные символы»
☥ ☤ ⚕ ⚚ ☘ ⚜ ⚘ ✡ ☪ ☫ ☬ ☭ ⚒ ☮ ✌☸ 卐 卍 ☯
Восемь вариаций «греческого креста»
🞡 🞢 🞣 🞤 ✚ 🞥 🞦 🞧
Котики!!!
😸 😹 😺 😼 😻 😽 😾 😿 🙀
Все шахматные фигуры!!!
♚ ♛ ♜ ♝ ♞ ♟ ♔ ♕ ♖ ♗ ♘ ♙
Полный комплект домино!!!
🁣 🁤 🁥 🁦 🁧 🁨 🁩 🁪 🁫 🁬 🁭 🁮 🁯 🁰🁱 🁲 🁳 🁴 🁵 🁶 🁷 🁸 🁹 🁺 🁻 🁼 🁽 🁾🁿 🂀 🂁 🂂 🂃 🂄 🂅 🂆 🂇 🂈 🂉 🂊 🂋 🂌🂍 🂎 🂏 🂐 🂑 🂒 🂓
Также многие символы имеют специальный код для вариации «символ в кружочке»
Можете побаловаться, к примеру, здесь
Один мой знакомый когда-то говорил, что каждый сэкономленный байт это наш вклад в дело мира.
Ⓔⓐⓒⓗⓗ ⓢⓐⓥⓔⓓ ⓑⓨⓣⓔ ⓘⓢ ⓞⓤⓡ ⓒⓞⓝⓣⓡⓘⓑⓤⓣⓘⓞⓝ ⓣⓞ ⓟⓘⓔⓒⓔ ⓘⓝ ⓣⓗⓔ ⓦⓞⓡⓛⓓ
🅔🅐🅒🅗🅗 🅢🅐🅥🅔🅓 🅑🅨🅣🅔 🅘🅢 🅞🅤🅡 🅒🅞🅝🅣🅡🅘🅑🅤🅣🅘🅞🅝 🅣🅞 🅟🅘🅔🅒🅔 🅘🅝 🅣🅗🅔 🅦🅞🅡🅛🅓
🄔⒜⒞⒣⒣ ⒮⒜⒱⒠⒟ ⒝⒴⒯⒠ ⒤⒮ ⒪⒰⒭ ⒞⒪⒩⒯⒭⒤⒝⒰⒯⒤⒪⒩ ⒯⒪ ⒫⒤⒠⒞⒠ ⒤⒩ ⒯⒣⒠ ⒲⒪⒭⒧⒟
E⃣a⃣c⃣h⃣h⃣ s⃣a⃣v⃣e⃣d⃣ b⃣y⃣t⃣e⃣ i⃣s⃣ o⃣u⃣r⃣ c⃣o⃣n⃣t⃣r⃣i⃣b⃣u⃣t⃣i⃣o⃣n⃣ t⃣o⃣ p⃣i⃣e⃣c⃣e⃣ i⃣n⃣ t⃣h⃣e⃣ w⃣o⃣r⃣l⃣d⃣
При этом некоторые символы имеют даже предопределённый цвет.
🅴🅰🅲🅷 🆂🅰🆅🅴🅳 🅱🆈🆃🅴 🅸🆂 🅾🆄🆁 🅲🅾🅽🆃🆁🅸🅱🆄🆃🅸🅾🅽 🆃🅾 🅿🅴🅰🅲🅴 🅸🅽 🆃🅷🅴 🆆🅾🆁🅻🅳
И это отдельный код для символа.
Можно хоть с ног на голову всё перевернуть.
˙puǝıɹɟ pןo ʎɯ ƃuıɹʇs ʇxǝʇ oןןǝH
В общем, пока серьёзные люди уткнувшись в IDE пишут серьезный программный год, обходять первыми 127 символами кодировки, они не представляют, что там, дальше, творится какая-то дичь. Пока в чат не прилетит символ в виде новогодней ёлки с пролетающей над нею уткой.
P. S. Те люди, которые добавляют символы в юникод, возможно самые могущественные люди на Земле. Их влияние больше чем у любого президента.
Советский Союз можно развалить, страны можно объединять и разъединять, учебную программу менять, историю переписывать. Но Юникод, похоже, будет сохранён в этом виде именно для совместимости.
Как и много других вещей.
К примеру, в JavaScript typeof null === ‘object’
И тут жирность букв задана просто через таблицы стилей, а не через левые символы.

Один комментарий к “Unicode загажен.”

  1. Может быть сначала были семибитовые коды потом восьмибитовые, а не семибайтовые

    От автора:Благодарю за замечание. Исправлено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *