Юникод, внутреннее устройство строк
Этот раздел более подробно описывает, как устроены строки. Такие знания пригодятся, если вы намерены работать с эмодзи, редкими математическими символами, иероглифами, и т.д.
Как мы уже знаем, строки в JavaScript основаны на Юникоде: каждый символ представляет из себя последовательность байтов из 1-4 байтов.
JavaScript позволяет нам вставить символ в строку, указав его шестнадцатеричный Юникод с помощью одной из этих трех нотаций:
-
\xXX Вместо XX должны быть указаны две шестнадцатеричные цифры со значением от 00 до FF . В этом случае \xXX – это символ, Юникод которого равен XX . Поскольку нотация \xXX поддерживает только две шестнадцатеричные цифры, ее можно использовать только для первых 256 символов Юникода. Эти 256 символов включают в себя латинский алфавит, большинство основных синтаксических символов и некоторые другие. Например, «\x7A» – это то же самое, что «z» (Юникод U+007A ).
alert( "\x7A" ); // z alert( "\xA9" ); // ©, символ авторского права
Как я добавил 6 символов в Unicode
Символы-звёздочки (☆★) давно уже входят в Unicode, и потому могут в качестве символов появляться на веб-страницах, в текстах и почте. Но полузвёздочек не было, поэтому для них требовались особые картинки или шрифты. Недавно я участвовал в написании предложения по добавлению полузвёздочек в Unicode, и вот только что наше предложение приняли. В следующем релизе Unicode полузвёздочки можно будет использовать наравне с любыми символами. В статье я расскажу, как я добился добавления полузвёздочек и двух других символов в Unicode.
4 разных использования полузвёздочки для представления оценки 3.5
Unicode – компьютерный стандарт, определяющий, какие символы будут использоваться почти любым компьютером. Он позволяет различным компьютерам показывать текст почти на любом языке и почти с любыми необходимыми символами (до Unicode работа с текстами не на английском была ужасно запутанной). Но Unicode не включает всё. В прошлом июне в комментарии на Hacker News пожаловались, что в Unicode нет символа полузвёздочки, необходимого для рейтингов и обзоров фильмов.
Я предложил кому-нибудь написать предложение по добавлению этого символа, но быстро понял, что этим кем-нибудь нужно стать мне. Поскольку ранее я уже с успехом провёл добавление двух символов в Unicode, я был знаком с необходимым процессом.
Несколько лет назад в подробной статье было описано, как два человека добавили символы обозначения питания в Unicode. Добавление нового символа в Unicode легче, чем вы могли бы подумать. Не нужно платить денег, работать в большой компании или присоединяться к комиссии. Нужно всего лишь написать предложение с объяснением необходимости включения символа. Если комитет Unicode согласится с ним, они одобрят добавление в Unicode.
В 2015 году я начал программировать мейнфрейм IBM 1401 из 1960-х в музее компьютерной истории. Но когда я описывал эту систему, у меня возникли трудности. Компьютер использовал 6-битный набор символов (предшественник EBCDIC) с несколькими странными символами. Все они были в Unicode, за исключением одного – метки группы. Я был шокирован тем, что в Unicode, содержащем 128 172 символа, не хватает нужного мне символа. Прочитав об успехах группы, добавившей символы питания, я решил, что было бы интересно посмотреть, смогу ли я добавить символ метки группы в Unicode. Я написал предложение, отправил в комиссию, и на следующей встрече его одобрили.
Описание метки группы из инструкции IBM 705 1959 года
Через несколько месяцев я обнаружил, что в Unicode нет символа для биткоинов. Это было неожиданно, поскольку этот символ широко используется. Его уже отвергали, так что в октябре 2015 года я написал более тщательное предложение, пользуясь активной поддержкой /r/bitcoin и других групп. Это предложение приняли в комитете Unicode в ноябре 2015.
И когда я увидел комментарий по поводу полузвёздочек на Hacker News, я решил, что будет довольно просто обеспечить его принятие в Unicode. После обсуждений на HN и в рассылке Unicode я написал предложение. Комиссия рассматривала его в августе 2016 года, но к моему удивлению они получили ещё одно сходное предложение, и решили подождать единого предложения. Оказалось, что Эндрю Уэст также написал предложение для полузвёздочек, и мы отправили наши предложения независимо. Так что мы объединили усилия и составили комбинированное предложение, которое было принято комиссией 30 сентября 2016 года.
Почему мы предлагали четыре разных вида полузвёздочек? Мы включили как обведённые звёздочки, так и сплошные, потому что оба этих вида используются часто (я не был уверен, сочтёт ли комиссия эти символы достаточно различными, чтобы включить их оба, но так и вышло). В языках с записью справа налево, типа иврита, рейтинг в звёздочках также пишется справа налево (что меня удивило), так что мы включили и зеркальные версии звёздочек для таких языков. В результате, четыре разных версии покрыли все случаи использования.
Если есть такой символ, который вы бы хотели видеть в Unicode, и он отвечает требованиям, вам необходимо разместить предложение, поскольку процесс этот несложный и интересный. Убедитесь, что символ отвечает требованиям. В частности, необходимо найти довольно много примеров его использования в тексте. Комитет Unicode не будет добавлять символ только оттого, что вы думаете, что он клёвый, так что вам понадобятся примеры его использования. Создание шрифта для демонстрации нового символа – самая сложная часть. Я использовал FontForge. У команды с символами питания было много советчиков, помогавших составить успешное предложение. Я также буду счастлив предложить такие советы вам.
Нужно упомянуть, что для эмодзи процесс сильно различается, так что не нужно говорить, что «раз существует эмодзи для какашки, то и мой символ тоже имеет право на существование» (символ был добавлен для обратной совместимости с японскими мобильниками). Для эмодзи ожидаемая популярность символа – главный фактор, влияющий на одобрение. Но Unicode озабочен не популярностью – исторические свитки Тангутов не будут иметь и миллионной доли популярности нового эмодзи – а использованием в текстах. У меня сложилось ощущение, что многие члены комитета Unicode вообще не хотели бы заниматься эмодзи.
После принятия символа ему предстоит долгий путь до появления в шрифтах и возможности использования. Новая версия Unicode выпускается каждый июнь, поэтому полузвёздочки должны появиться в Unicode 11.0 в середине 2018 года. Сообществу биткоин пришлось ждать очень долго, поскольку символ для биткоин немного упустил выход версии Unicode 9.0, так что он должен будет появиться в Unicode 10.0 в середине 2017 года. Так что, если вы терпеливы, вы в итоге сможете увидеть использование метки группы, символ биткоин и полузвёздочки на веб-страницах вместе с другими символами.
Таблица символов ЮНИКОДА для сайтов
На выдаче в сниппете и Title могут отображаться специализированные символы, знаки, буквы и цифры. Использовать их можно для оригинального оформления SEO-блоков. Только следует учитывать, что применение символов и необычных знаков должно быть продуманным и обоснованным. Иначе сниппет или тайтл может выглядеть нелепо, совершенно не справляясь с поставленными задачами. Поисковые системы по-разному реагируют на использование символов, смайликов, стрелочек, необычных знаков. Рекомендуем протестировать их, чтобы убедиться в правильности отображения в выдаче.
Как использовать Unicode символы
- Найти нужный значок;
- Скопировать его;
- Вставить в нужное место в тексте.
Наиболее популярные символы
Чаще всего для выдачи применяют символы рубля и валют, серп и молот, а также инь и янь.
Российский рубль: U+20BD (в Юникоде) и ₽ (в HTML-коде)
Нумерация, буквы, числа в Юникод
- ⓿ ❶ ❷ ❸ ❹ ❺ ❻ ❼ ❽ ❾ ❿ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴
- ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇
- ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
- Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ
- ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛
- ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪
- ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵
Колбочки, стрелочки, квадратики
- ◜ ◝ ◞ ◟ ◠ ◡
- ◰ ◱ ◲ ◳ ◴ ◵ ◶ ◷
- ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ■
- ◸ ◹ ◺ ◻ ◼ ◽ ◾ ◿
- ► ▻ ▼ ▽ ▾ ▿ ◀ ◁ ◂ ▻
- □ ▢ ▣ ▪ ▫ ▬ ▭ ▮ ▯ ▰ ▱ ▤ ▥ ▦ ▧ ▨ ▩
- ▲ △ ▴ ▵ ▶ ▷ ▸ ▹ ► ▻
- ◢ ◣ ◤ ◥
- ◆ ◇ ◈ ◉ ◊ ○ ◌ ◍ ◎
- ● ◐ ◑ ◒ ◓ ◔ ◕
- ◧ ◨ ◩ ◪ ◫
- ◖ ◗ ◘ ◙ ◚ ◛
- ◦ ◬ ◭ ◮ ◯
Крестики, черточки, палочки в UNICODE
- ▁ ▂ ▃ ▄ ▅ ▆ ▇ █
- ▌ ▍ ▎ ▏ ▐
- ▀ ▉ ▊ ▋
- ─ ━ │ ┃
- └ ┕ ┖ ┗ ┘ ┙ ┚ ┛
- ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋
- ░ ▒ ▓ ▔ ▕
- ┌ ┍ ┎ ┏ ┐ ┑ ┒ ┓
- ╭ ╮ ╯ ╰ ╱ ╲ ╳
- ├ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫
- ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿
- ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻
- ┬ ┭ ┮ ┯ ┰ ┱ ┲ ┳
- ┼ ┽ ┾ ┿ ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋
- ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬
- ╘ ╙ ╚ ╛ ╜ ╝
- ╌ ╍ ╎ ╏ ═
- ║ ╞ ╟ ╠ ╡ ╢ ╣
- ╒ ╓ ╔ ╕ ╖ ╗
Фигурные символы
Используются специальные символы:
- ⟨ ⟩ ⟪ ⟫ ⟰ ⟱
- ❍ ❏ ❐ ❑ ❒
- ✔ ✕ ✖ ✗ ✘
- ☀ ☁ ☂ ☃ ☄ ★
- ☢ ☣ ☯ ☮ ☣ ☬ ☪
- ☆ ☇ ☈ ☉ ☊ ☋ ☌ ☍
- ☡ ☢ ☣ ☤ ☥ ☧ ☨ ☩ ☪
- ☎ ☏ ☐ ☑ ☒
- ⟦ ⟧ ⟲ ⟳ ⟴ ⟵
- ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡
- ☓ ☔ ☕ ☖ ☗ ☘ ☙
- ☚ ☛ ☜ ☝ ☞ ☟ ☠ ☫ ☬
- ✆ ✇ ✈ ✉ ✌ ✍ ✎ ✏ ✐ ✑
- ➲ ➳ ➴ ➵ ➶ ➷ ➸
- ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷
- ☭ ☮ ☯ ♮ ♯ ♰ ♱
- ➱ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➔
- ❁ ❂ ❃ ❄ ❅ ❆ ❇ ❈ ❉ ❊ ❋
- ✁ ✂ ✃ ✄ ✒ ✓ ☦
- ✫ ✬ ✭ ✮ ✯ ✰
- ✝ ✞ ✟ ✠ ✡✢ ✣ ✤ ✥
- ✡ 〄 ♨ ☸ ⌘
- ✱ ✲ ✳ ✴ ✵ ✶ ✷ ✸ ✹ ✺ ✻ ✼ ✽ ❀
- ✙ ✚ ✛ ✾ ✿ ✜ ✦ ✧ ✩ ✪
- ➹ ➺ ➻ ➼ ➽ ➾
- ❖ ❡ ❢ ❣ ❤ ❥ ❦ ❧ ❘ ❙ ❚ ❛ ❜ ❝ ❞ ➿ ⟠ ⟡
Римские числа
Шахматные фигуры и ноты
Используются следующие символы:
- ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟ ♠
- ♩ ♪ ♫ ♬ ♭ ♮ ♯
- ♡ ♢ ♣ ♤ ♥ ♦ ♧
Математические символы и обозначения в физике по UNICODE
Греческие буквы и другие алфавиты
ᴀ ᴁ ᴂ ᴃ ᴄ ᴅ ᴆ ᴇ ᴈ ᴉ ᴊ ᴋ ᴌ ᴍ ᴎ ᴏ ᴐ ᴑ ᴒ ᴓ ᴔ ᴕ ᴖ ᴗ ᴘ ᴙ ᴚ ᴛ ᴜ ᴝ ᴞ ᴟ ᴠ ᴡ ᴢ ᴣ ᴤ ᴥ ᴦ ᴧ ᴨ ᴩ ᴪ ᴫ ᴬ ᴭ ᴮ ᴯ ᴰ ᴱ ᴲ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴻ ᴼ ᴽ ᴾ ᴿ ᵀ ᵁ ᵂ ᵃ ᵄ ᵅ ᵆ ᵇ ᵈ ᵉ ᵊ ᵋ ᵌ ᵍ ᵎ ᵏ ᵐ ᵑ ᵒ ᵓ ᵔ ᵕ ᵖ ᵗ ᵘ ᵙ ᵚ ᵛ ᵜ ᵝ ᵞ ᵟ ᵠ ᵡ ᵢ ᵣ ᵤ ᵥ ᵦ ᵧ ᵨ ᵩ ᵪ ᵫ ᵬ ᵭ ᵮ ᵯ ᵰ ᵱ ᵲ ᵳ ᵴ ᵵ ᵶ ᵷ ᵸ ᵹ ᵺ ᵻ ᵼ ᵽ ᵾ ᵿ ᶀ ᶁ ᶂ ᶃ ᶄ ᶅ ᶆ ᶇ ᶈ ᶉ ᶊ ᶋ ᶌ ᶍ ᶎ ᶏ ᶐ ᶑ ᶒ ᶓ ᶔ ᶕ ᶖ ᶗ ᶘ ᶙ ᶚ ᶛ ᶜ ᶝ ᶞ ᶟ ᶠ ᶡ ᶢ ᶣ ᶤ ᶥ ᶦ ᶧ ᶨ ᶩ ᶪ ᶫ ᶬ ᶭ ᶮ ᶯ ᶰ ᶱ ᶲ ᶳ ᶴ ᶵ ᶶ ᶷ ᶸ ᶹ ᶺ ᶻ ᶼ ᶽ ᶾ ᶿ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ⍳ ⍴ ⍵ ⍶ ⍷ ⍸ ⍹ ⍺
Юникод-кодировщик
Наш Юникод-кодировщик это браузерная утилита которая переделывает текст или любой набор символов в последовательность их кодов. Возьмём значок доллара $ и поместим его в левое поле. В правом незамедлительно появится «\u0024», где 0024 это номер Юникода. Или весь этот абзац скопируем и увидим коды всех букв, цифр и знаков препинания.
Применение подобного формата записи можно встретить в файлах стилей для веб-сайтов. В частности, он используется в свойстве «content» псевдоэлементов ::after и ::before. В некоторых случаях такой подход облегчает вёрстку. А выглядит это так:
HTMLCSS .komment::after, .komment::before
Тут мог быть ваш комментарий.
Обратите внимание, что значки карандаша тут являются просто символами Юникода, к которым применимы любые css свойства, например цвет.
Все изображения Emoji и символов на сайте предназначены исключительно для информационных целей, права принадлежат их авторам и не могут быть использованы для коммерческих целей без их согласия.
Все названия символов являются официальными названиями Юникод®. Указанные номера символов являются частью стандарта Юникод.
© SYMBL 2012—2023
Ex: Таблица символов Юникода