xd0 что за символ

ASCII таблица

ASCIIA merican S tandard C ode for I nformation I nterchange.

ASCII была разработана (1963 год) для кодирования символов, коды которых помещались в 7 бит (128 символов). Со временем кодировка была расширена до 8-ми бит (256 символов), коды первых 128-и символов не изменились.

Управляющие символы ASCII (код символа 0-31)

Первые 32 символа в ASCII-таблице не имеют печатных кодов и используются для управления периферийными устройствами, телетайпами, принтерами и т.д.

DEC OCT HEX BIN Symbol HTML Number HTML Name Description
0 000 0x00 00000000 NUL \0 & #000; Null char
1 001 0x01 00000001 SOH & #001; Start of Heading
2 002 0x02 00000010 STX & #002; Start of Text
3 003 0x03 00000011 ETX & #003; End of Text
4 004 0x04 00000100 EOT & #004; End of Transmission
5 005 0x05 00000101 ENQ & #005; Enquiry
6 006 0x06 00000110 ACK & #006; Acknowledgment
7 007 0x07 00000111 BEL & #007; Bell
8 010 0x08 00001000 BS & #008; Back Space
9 011 0x09 00001001 HT \t & #009; Tab
10 012 0x0A 00001010 LF \n & #010; Новая строка
11 013 0x0B 00001011 VT & #011; Vertical Tab
12 014 0x0C 00001100 FF & #012; Form Feed
13 015 0x0D 00001101 CR \r & #013; Возврат каретки
14 016 0x0E 00001110 SO & #014; Shift Out / X-On
15 017 0x0F 00001111 SI & #015; Shift In / X-Off
16 020 0x10 00010000 DLE & #016; Data Line Escape
17 021 0x11 00010001 DC1 & #017; Device Control 1 (oft. XON)
18 022 0x12 00010010 DC2 & #018; Device Control 2
19 023 0x13 00010011 DC3 & #019; Device Control 3 (oft. XOFF)
20 024 0x14 00010100 DC4 & #020; Device Control 4
21 025 0x15 00010101 NAK & #021; Negative Acknowledgement
22 026 0x16 00010110 SYN & #022; Synchronous Idle
23 027 0x17 00010111 ETB & #023; End of Transmit Block
24 030 0x18 00011000 CAN & #024; Cancel
25 031 0x19 00011001 EM & #025; End of Medium
26 032 0x1A 00011010 SUB & #026; Substitute
27 033 0x1B 00011011 ESC & #027; Escape
28 034 0x1C 00011100 FS & #028; File Separator
29 035 0x1D 00011101 GS & #029; Group Separator
30 036 0x1E 00011110 RS & #030; Record Separator
31 037 0x1F 00011111 US & #031; Unit Separator
DEC OCT HEX BIN Symbol HTML Number HTML Name Description
Печатные символы ASCII (код символа 32-127)

Буквы, цифры, знаки препинания и другие символы расположенные на клавиатуре (англ.).

Источник

Таблица URL кодов символов кодировки ASCII

Кодирование URL конвертирует символы в формат, который можно безопасно передать в качестве URL-адреса ресурса через интернет.

URL — это Единый указатель ресурсов (англ. Uniform Resource Locator). Веб-браузеры запрашивают HTML-документы с сервера, используя URL-адрес.

URL — это адрес веб-страницы, например: http://www.wm-school.ru

Кодирование URL

URL-адрес ресурса отправляется в интернет в ASCII-кодировке.
Если в URL содержатся символы, не входящие в ASCII-кодировку, URL конвертируется. Перекодироваться должны буквы кириллицы, буквы с диакритическими знаками, лигатуры, иероглифы. Кодирование URL конвертирует этот адрес в ASCII формат.
Кодировщик URL заменяет небезопасные символы ASCII знаком (%), за которым следуют два шестнадцатиричных числа, которые соответствуют значениям символов из кодировки ISO-8859-1. URL не должен содержать пробелы. Кодировщик URL обычно заменяет пробелы знаком (%20).

URL-коды специальных (управляющих) символов

Первоначально управляющие символы таблицы ASCII (диапазон 00-31, плюс 127) были разработаны для того, чтобы управлять устройствами аппаратных средств, таких как телетайп, ввод данных на перфоленту и др.
Управляющие символы (кроме горизонтальной табуляции, перевода строки и возврата каретки) не используются в HTML-документах.

Таблица URL-кодов специальных (управляющих) символов

Dec Hex Символ URL-код 0 00 %00 1 01 %01 2 02 %02 3 03 %03 4 04 %04 5 05 %05 6 06 %06 7 07 %07 8 08 backspace %08 9 09 tab %09 10 0a linefeed %0a 11 0b %0b 12 0c %0c 13 0d carriage return %0d 14 0e %0e 15 0f %0f 16 10 %10 17 11 %11 18 12 %12 19 13 %13 20 14 %14 21 15 %15 22 16 %16 23 17 %17 24 18 %18 25 19 %19 26 1a %1a 27 1b %1b 28 1c %1c 29 1d %1d 30 1e %1e 31 1f %1f 127 7f %7f

URL-коды символов ISO-Latin (диапазон 128-255)

Символы в диапазоне с 128 по 255 отводятся для специфических символов букв алфавитов западно-европейских языков, символов псевдографики, некоторых букв греческого алфавита, а также ряда математических и финансовых символов.

URL-коды символов ISO-Latin (диапазон 128-255)

Dec Hex Символ URL-код 128 80 € %80 129 81  %81 130 82 ‚ %82 131 83 ƒ %83 132 84 „ %84 133 85 %85 134 86 † %86 135 87 ‡ %87 136 88 ˆ %88 137 89 ‰ %89 138 8a Š %8a 139 8b ‹ %8b 140 8c Œ %8c 141 8d  %8d 142 8e Ž %8e 143 8f  %8f 144 90  %90 145 91 ‘ %91 146 92 ’ %92 147 93 “ %93 148 94 ” %94 149 95 • %95 150 96 – %96 151 97 — %97 152 98 ˜ %98 153 99 ™ %99 154 9a š %9a 155 9b › %9b 156 9c œ %9c 157 9d  %9d 158 9e ž %9e 159 9f Ÿ %9f 160 a0 %a0 161 a1 ¡ %a1 162 a2 ¢ %a2 163 a3 £ %a3 164 a4 ¤ %a4 165 a5 ¥ %a5 166 a6 ¦ %a6 167 a7 § %a7 168 a8 ¨ %a8 169 a9 © %a9 170 aa ª %aa 171 ab « %ab 172 ac ¬ %ac 173 ad ­ %ad 174 ae ® %ae 175 af ¯ %af 176 b0 ° %b0 177 b1 ± %b1 178 b2 ² %b2 179 b3 ³ %b3 180 b4 ´ %b4 181 b5 µ %b5 182 b6 ¶ %b6 183 b7 · %b7 184 b8 ¸ %b8 185 b9 ¹ %b9 186 ba º %ba 187 bb » %bb 188 bc ¼ %bc 189 bd ½ %bd 190 be ¾ %be 191 bf ¿ %bf 192 c0 À %c0 193 c1 Á %c1 194 c2  %c2 195 c3 à %c3 196 c4 Ä %c4 197 c5 Å %c5 198 c6 Æ %v6 199 c7 Ç %c7 200 c8 È %c8 201 c9 É %c9 202 ca Ê %ca 203 cb Ë %cb 204 cc Ì %cc 205 cd Í %cd 206 ce Î %ce 207 cf Ï %cf 208 d0 Ð %d0 209 d1 Ñ %d1 210 d2 Ò %d2 211 d3 Ó %d3 212 d4 Ô %d4 213 d5 Õ %d5 214 d6 Ö %d6 215 d7 × %d7 216 d8 Ø %d8 217 d9 Ù %d9 218 da Ú %da 219 db Û %db 220 dc Ü %dc 221 dd Ý %dd 222 de Þ %de 223 df ß %df 224 e0 à %e0 225 e1 á %e1 226 e2 â %e2 227 e3 ã %e3 228 e4 ä %e4 229 e5 å %e5 230 e6 æ %e6 231 e7 ç %e7 232 e8 è %e8 233 e9 é %e9 234 ea ê %ea 235 eb ë %eb 236 ec ì %ec 237 ed í %ed 238 ee î %ee 239 ef ï %ef 240 f0 ð %f0 241 f1 ñ %f1 242 f2 ò %f2 243 f3 ó %f3 244 f4 ô %f4 245 f5 õ %f5 246 f6 ö %f6 247 f7 ÷ %f7 248 f8 ø %f8 249 f9 ù %f9 250 fa ú %fa 251 fb û %fb 252 fc ü %fc 253 fd ý %fd 254 fe þ %fe 255 ff ÿ %ff

Зарезервированные символы

Зарезервированные символы — это специальные символы, такие как знак доллара, амперсанд, плюс, слэш, двоеточие, точка с запятой, знак равенства, знак вопроса, знак эт (собака). Все они могут иметь различные значения в URL, поэтому должны быть закодированы.

Таблица URL-кодов зарезервированных символов

Dec Hex Символ URL-код 36 24 $ %24 38 26 & %26 43 2b + %2b 44 2c , %2c 47 2f / %2f 58 3a : %3a 59 3b ; %3b 61 3d = %3d 63 3f ? %3f 64 40 @ %40

Небезопасные символы

Небезопасные символы — это пробел, кавычки, знак меньше, знак больше, знак диез, знак проценты, фигурные скобки, прямой слэш, обратный слэш, тильда, квдратные скобки, гравис. Эти символы также должны всегда быть закодированы.

Источник

Обращение не ASCII-строки

Если вы знаете, что такое ICU, то, вероятно, вы не узнаете из этого поста ничего нового.

Читайте также:  какие соки полезны для печени и поджелудочной железы

Порой приходится слышать от товарищей, что на собеседовании их просили написать код, который бы обращал строку. И даже в Cracking the Coding Interview это второй вопрос в тестах. Однако, правильное, с моей точки зрения, решение выходит далеко за рамки библиотечного вызова или одного цикла while.

В случае, когда переданная строка является ASCII-строкой, сработает и самый простой подход. Но все становится интереснее, если на вход может быть передана UTF-8 строка. Проблем тут сразу две: переменная ширина и модифицирующие символы.
Чтобы было понятнее, начну с тестов, которые программа должна проходить (слева — вход, справа — ожидаемый выход): Как видно, для решения требуется что-то, что знает о том, что у Юникода «под капотом». И ответственность за это, как правило, возлагают на библиотеку ICU. Поэтому можно считать эту заметку обзором ICU для тех, кто, как и я, собирается начать ее использовать.

Алгоритм решения проблемы

Считывание данных

Разделение на символы

Перенос подпоследовательностей

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

Источник

Этот восхитительный Юникод

Перед вами обновляемый список самых замечательных «вкусностей» Юникода, а также пакетов и ресурсов

Юникод — это потрясающе! До его появления международная коммуникация была изнурительной: каждый определял свой отдельный расширенный набор символов в верхней половине ASCII (так называемые кодовые страницы). Это порождало конфликты. Просто подумайте, что немцам приходилось договариваться с корейцами, где чья кодовая страница. К счастью, появился Юникод и ввёл общий стандарт. Юникод 8.0 охватывает более 120 000 символов из более 129 письменностей. И современные, и древние, и до сих пор не расшифрованные. Юникод поддерживает текст слева направо и справа налево, наложение символов и включает самые разные культурные, политические, религиозные символы и эмодзи. Юникод потрясающе человечен, а его возможности сильно недооцениваются.

Содержание

Краткое введение

Какие символы входят в Стандарт Юникод?

Стандарт Юникод определяет коды для символов основных современных языков. Это европейские алфавитные письменности, ближневосточные письменности справа налево и многие письменности Азии.

Стандарт также содержит знаки пунктуации, диакритические знаки, математические символы, технические символы, стрелки, дингбаты, эмодзи и т. д. Он предоставляет коды для диакритических знаков, изменяющих знаки символов, такие как тильда (

). Они используются в сочетании с основными для представления акцентированных символов (например, ñ). В целом, Юникод версии 9.0 предоставляет коды для 128 172 символов из мировых алфавитов, наборов идеограмм и коллекций символов.

Большинство символов общего пользования помещаются в первые 64K кодовых точек, область кодового пространства, которая называется основной многоязычной плоскостью, или BMP для краткости. Есть ещё шестнадцать других дополнительных плоскостей, доступных для кодирования других символов, с более чем 850 000 неиспользуемых кодовых точек. Они могут пригодиться для добавления новых символов в будущие версии стандарта.

Стандарт Юникод также резервирует кодовые точки для частного использования. Вендоры или конечные пользователи могут назначать их в своих собственных системах для своих символов или использовать со специализированными шрифтами. На BMP находится 6400 кодовых точек для частного использования и ещё 131 068 дополнительных кодовых точек частного использования, если 6400 недостаточно для конкретных приложений.

Кодировки символов Юникода

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

Стандарт Юникод определяет три формы кодирования, которые позволяют передавать одни и те же данные: это байт, слово и двойное слово (то есть 8, 16 или 32 бит на единицу кода). Все три формы кодируют один и тот же общий набор символов и могут быть эффективно преобразованы друг в друга без потери данных. Консорциум Юникод полностью одобряет использование любой из этих форм кодирования в качестве согласованного способа реализации Стандарта Юникод.

UTF-8 популярен для HTML и подобных протоколов. UTF-8 — это способ преобразования всех символов Юникода в кодировку переменной байтовой длины. Его преимущество в том, что символы Юникода, соответствующие знакомому набору ASCII, имеют те же байтовые значения, что и ASCII, а символы Юникода, преобразованные в UTF-8, могут использоваться с большим количеством существующего программного обеспечения без серьёзной доработки ПО.

UTF-16 популярен во многих средах, где необходимо сбалансировать эффективный доступ к символам с экономичным хранением. Он достаточно компактен, и все часто используемые символы помещаются в один 16-битный кодовый блок, в то время как все остальные символы доступны через пары 16-битных кодовых блоков.

UTF-32 полезен там, где объём памяти не вызывает беспокойства, но требуется доступ к символам по единому коду фиксированной ширины. Здесь каждый символ Юникода кодируется в одном 32-разрядном кодовом блоке.

Все три формы кодирования требуют для каждого символа не более 4 байт (или 32 бит).

Поговорим о цифрах

Набор символов Юникода разделён на 17 основных сегментов (плоскостей), которые далее делятся на блоки. В каждой плоскости есть место для 65 536 (2 16 ) кодовых точек, что создаёт в сумме 1 114 112 кодовых точек. Есть две «плоскости частного использования» (№ 16 и № 17), которые выделяются для использования на усмотрение компаний/пользователей. В них 131 072 кодовые точки.

Название Диапазон
1. Основная многоязычная плоскость (от U+0000 до U+FFFF)
2. Дополнительная многоязычная плоскость (от U+10000 до U+1FFFF)
3. Дополнительная идеографическая плоскость (от U+20000 до U+2FFFF)
4. Третичная идеографическая плоскость (от U+30000 до U+3FFFF)
5. Плоскость 5 (не используется) (от U+40000 до U+4FFFF)
6. Плоскость 6 (не используется) (от U+50000 до U+5FFFF)
7. Плоскость 7 (не используется) (от U+60000 до U+6FFFF)
8. Плоскость 8 (не используется) (от U+70000 до U+7FFFF)
9. Плоскость 9 (не используется) (от U+80000 до U+8FFFF)
10. Плоскость 10 (не используется) (от U+90000 до U+9FFFF)
11. Плоскость 11 (не используется) (от U+A0000 до U+AFFFF)
12. Плоскость 12 (не используется) (от U+B0000 до U+BFFFF)
13. Плоскость 13 (не используется) (от U+C0000 до U+CFFFF)
14. Плоскость 14 (не используется) (от U+D0000 до U+DFFFF)
15. Специализированная дополнительная плоскость (от U+E0000 до U+EFFFF)
16. Дополнительная область для частного использования — A (от U+F0000 до U+FFFFF)
17. Дополнительная область для частного использования — B (от U+100000 до U+10FFFF)

Первая плоскость называется основной многоязычной плоскостью или BMP. Она содержит кодовые точки от U+0000 до U+FFFF, то есть наиболее часто используемые символы. Остальные шестнадцать плоскостей (U+010000 → U+10FFFF) называются дополнительными или астральными.

Суррогатные пары UTF-16

Символы вне основной плоскости, как тетраграмматон, означающий центр (U+1D306), можно закодировать в UTF-16 только двумя 16-битными кодовыми единицами: 0xD834 0xDF06. Это называется суррогатной парой. Обратите внимание, что суррогатная пара представляет только один символ.

Первая кодовая единица суррогатной пары всегда находится в диапазоне от 0xD800 до 0xDBFF и называется верхней частью пары.

Вторая кодовая единица суррогатной пары всегда находится в диапазоне от 0xDC00 до 0xDFFF и называется нижней частью пары.

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

Вычисление суррогатных пар

Юникодовский символ «Куча дерьма» (U+1F4A9) в UTF-16 придётся кодировать как суррогатную пару, т. е. два суррогата. Чтобы преобразовать любую кодовую точку в суррогатную пару, используйте такой алгоритм (на JavaScript). Имейте в виду, что мы используем шестнадцатеричную нотацию.

Композиция и декомпозиция

Юникод включает в себя механизм для изменения формы символа, который значительно расширяет поддерживаемый набор глифов. Это касается комбинируемых диакритических знаков. Они вставляются после главного знака. На один и тот же знак можно наложить несколько комбинируемых диакритических знаков. Юникод также содержит предварительно составленные версии большинства таких комбинаций для нормального использования.

Некоторые последовательности символов также можно представить в виде одного символа, который называется предварительно составленным символом (precomposed character), он же составной символ (composite character). Например, символ [ü] можно закодировать как единственную кодовую точку U+00FC или как базовый символ U+0075 (u), за которым следует несамостоятельный знак U+0308 (¨). Стандарт Юникод кодирует составные символы для совместимости с установленными стандартами, такими как Latin 1, который включает в себя множество составных символов, таких как [ü] и [ñ].

Составные символы можно разложить для согласованности или анализа. Например, при сортировке имён по алфавиту символ [ü] можно разложить на [u], за которым следует несамостоятельный знак [¨]. После такой декомпозиции алгоритму проще работать с последовательностью символов. Это позволяет упростить сортировку в языках, где модификаторы символов не влияют на алфавитный порядок. Стандарт Юникод устанавливает порядок декомпозиции для всех составных символов. Он также определяет формы нормализации для обеспечения уникальных представлений символов.

Мифы о Юникоде

Из слайдов презентации Марка Дэвиса «Мифы Юникода».

Прикладные кодировки Юникода

Тип кодирования Пример
Объект HTML (десятичный)
Объект HTML (hex)
Управляющий код URL %F0%9F%96%96
UTF-8 (hex) 0xF0 0x9F 0x96 0x96 (f09f9696)
UTF-8 (бинарный) 11110000:10011111:10010110:10010110
UTF-16/UTF-16BE (hex) 0xD83D 0xDD96 (d83ddd96)
UTF-16LE (hex) 0x3DD8 0x96DD (3dd896dd)
UTF-32/UTF-32BE (hex) 0x0001F596 (0001f596)
UTF-32LE (hex) 0x96F50100 (96f50100)
Восьмеричная управляющая последовательность \360\237\226\226

Исходный код

Тип кодирования Пример
JavaScript \u1F596
JSON \u1F596
C \u1F596
C++ \u1F596
Java \u1F596
Python \u1F596
Perl \x
Ruby \u
CSS \01F596

Список удивительных символов

Совместный доступ к документу может быстро превратить редактирование в письменную рэп-битву, ведущуюся все более запутанной расстановкой управляющих от U+202a до U+202e

Специальные символы

Консорциум Unicode опубликовал диаграмму общей пунктуации, где можете найти более подробную информацию.

Символ Название Описание
‘’ U+FEFF Неразрывный пробел нулевой ширины (Byte Order Mark — BOM) Обладает важным свойством однозначности при изменении порядка байтов. У него также нулевая ширина и невидимость. В неподходщем программном обеспечении (например, интерпретаторе PHP) это приводит к всевозможным примерам забавного поведения.
‘￯’ ‘\uFFEF’ Обратный BOM Не приравнивается к символу, кроме начала текста.
‘​’ ‘\u200B’ Неразрывное пространство нулевой ширины Символ без внешнего вида и без эффекта, кроме предотвращения образования лигатур.
‘ ‘ U+00A0 Неразрывный пробел Заставляет соседние символы держаться вместе. Хорошо известен как в HTML.
‘­’ U+00AD Мягкий дефис В HTML работает как пространство нулевой ширины, но при встрече с концом строки (и только в этом случае) показывает дефис.
‘‍’ U+200D Знак нулевой ширины (с объединением) Заставляет соединяться соседние символы (например, арабские символы или поддерживаемые эмодзи). Можно использовать для последовательно скомбинированных эмодзи.
‘⁠’ U+2060 Соединитель слов То же самое, что и U+00A0, но совершенно невидимый. Хорошо подходит для @font-face в Twitter.
‘ ‘ U+1680 Огам знак пробела Отмечает пробел, который выглядит как тире. Отлично подходит, чтобы приблизить программистов к безумию: 1 + 2 === 3.
‘;’ U+037E Греческий знак вопроса Похож на точку с запятой. Также забавный способ троллить разработчиков.
‘‭’ U+202D Изменяет направление текста слева-направо.
‘‮’ ‭ ‭ U+202E Изменяет направление текста справа-налево.
‘ꓸ’ U+A4F8 Лису буква tone mya ti Двойник для точки.
‘ꓹ’ U+A4F9 Лису буква tone na po Двойник для запятой.
‘ꓼ’ U+A4FC Лису буква tone mya na Двойник для точки с запятой.
‘ꓽ’ U+A4FD Лису буква tone mya jeu Двойник для двоеточия.
‘︀’ Вариантные селекторы (от U+FE00 до U+FE0F и от U+E0100 до U+E01EF) Блок из 256 символов нулевой ширины, которые обладают свойством ID_Continue, то есть могут использоваться в именах переменных (не первая буква). Что делает их особенными, так это то, что над ними проходит курсор мыши, поскольку они объединяют символы, в отличие от большинства других символов нулевой ширины.
‘ᅟ’ U+115F Заполнитель хангыль чхосон По сути, заполняет пространство. Визуализируется как символ нулевой ширины (невидимый), если явно не поддерживается при визуализации. Обозначен как ID_Start
‘ᅠ’ U+1160 Заполнитель чунсон Возможно, заполняет пространство? Визуализируется как символ нулевой ширины (невидимый), если явно не поддерживается при визуализации. Обозначен как ID_Start
‘ㅤ’ U+3164 Заполнитель хангыль В целом, заполняет пространство. Визуализируется как символ нулевой ширины (невидимый), если явно не поддерживается при визуализации. Обозначен как ID_Start

Подожди… что я только что прочитал?

Идентификаторы переменных могут включать пробелы!

U+3164 Заполнитель хангыль отображается в виде широкого пробела. Если символ явно не поддерживается в рендеринге, то отображается как полностью невидимый (и не занимает место, т. е. «нулевой ширины»). Это означает, что вы никогда не увидите уродливый символ замены символов (�).

Я пока не уверен, почему U+3164 указано вести себя таким образом. Интересно, что U+3164 был добавлен в Юникод в версии 1.1 (1993) — так что у специалистов Консорциума было много времени, чтобы его продумать. Во всяком случае, вот несколько примеров.

**Примечание:** я тестировал рендеринг U+3164 на Ubuntu и OS X со следующими параметрами: `node`, `php`, `ruby`, `python3.5`, `scala`, `vim`, `cat`, `chrome`+`github gist’. Atom — единственная система, которая терпит неудачу, (некорректно) отображая пустые поля. Мне ещё предстоит проверить код в Emacs и Sublime. Насколько я понимаю, Консорциум Юникод не будет переназначать или переименовывать символы или кодовые точки, но его можно убедить изменить свойства символов, таких как ID_Start и ID_Continue.

Модификаторы

Объединитель нулевой ширины (ZWJ) является непечатным символом в компьютерном наборе некоторых сложных шрифтов, таких как арабский или любой индийский шрифт. При помещении между двумя символами, которые в противном случае не были бы связаны, ZWJ заставляет их печататься в объединённой форме.

Разъединитель нулевой ширины (ZWNJ) — это непечатный символ в компьютерных наборах письменностей с лигатурами. При размещении между двумя символами, которые в противном случае были бы соединены в лигатуру, ZWNJ заставляет их печататься в их окончательной и первоначальной формах, соответственно. Действует как пробел, но используется в том случае, когда желательно удерживать слова рядом друг с другом или соединить слово с его морфемой.

Коллизии преобразований в верхнем регистре

Символ Кодовая точка Результат
ß 0x00DF SS
ı 0x0131 I
ſ 0x017F S
0xFB00 FF
0xFB01 FI
0xFB02 FL
0xFB03 FFI
0xFB04 FFL
0xFB05 ST
0xFB06 ST

Коллизии преобразований в нижнем регистре

Причуды и устранение неполадок

Сопоставления одного ко многим

Большинство нижеприведенных символов выражают свои сопоставления «один ко многим» в верхнем регистре, а другие в нижнем. В принципе, список можно разделить на две части.

Отличные пакеты и библиотеки

Эмодзи

Многообразие

Консорциум Unicode приложил огромные усилия для лучшего отражения человеческого многообразия (diversity), включая культурные практики. Вот отчёт Консорциума о многообразии.

Теперь доступны эмодзи для разных гендерных ситуаций, включая однополые семьи, держащиеся руки и поцелуи. Последний функционал — это составные последовательности эмодзи. Основные примеры:

Кодовые точки Рецепт Сочетание
U+1F469 U+200D U+2764 U+FE0F U+200D U+1F469
U+1F468 U+200D U+1F468 U+200D U+1F467 U+200D U+1F466

Кроме того, эмодзи теперь поддерживают модификаторы цвета кожи.

В Юникоде версии 8.0 (середина 2015 года) появилось пять символов-модификаторов символов для оттенков человеческой кожи. Эти символы основаны на шести оттенках по шкале Фицпатрика, признанного стандарта в дерматологии (в интернете много примеров этой шкалы, таких как FitzpatrickSkinType.pdf). Точные оттенки зависят от реализации.

Код Название Примеры
U+1F3FB Модификатор эмодзи для шкалы Фицпатрика типы-1-2
U+1F3FC Модификатор эмодзи для шкалы Фицпатрика тип-3
U+1F3FD Модификатор эмодзи для шкалы Фицпатрика тип-4
U+1F3FE Модификатор эмодзи для шкалы Фицпатрика тип-5
U+1F3FF Модификатор эмодзи для шкалы Фицпатрика тип-6

Просто выбирайте нужный эмодзи, указав один из модификаторов цвета кожи \u<1F466>\u <1F3FE>.


+


Переменные и методы с креативными названиями

Примеры на JavaScript (ES6)

Обычно символы, обозначенные свойством ID_START, можно ставить в начале названия переменной. Символы, обозначенные свойством ID_CONTINUE, можно ставить после первого символа в имени переменной.

А вот некоторые юникодовские классы CSS от Дэвида Уолша.

Скрипт рекурсивного переименования тегов HTML

Если вы хотите переименовать все свои HTML-теги в нечто невидимое, вот скрипт, который вам нужен.

Только обратите внимание, что HTML поддерживает не все символы Юникода.

Вот что он поддерживает:

А вот некоторые результаты:

Шрифты Юникода

Ни один шрифт TrueType или OpenType не способен охватить все символы UTF-8, поскольку есть жёсткое ограничение на 65 535 символов в шрифте. Если у нас более 1,1 миллиона глифов UTF-8, то для полного покрытия придётся делать семейство шрифтов.

Дополнительные ресурсы

Более глубокое исследование самого Юникода

Общая карта

Карта основной многоязычной плоскости

Каждое нумерованное поле представляет собой 256 кодовых точек.

Китайские, японские и корейские (ККЯ) письменности объединены одним цветом как символы ККЯ (CJK). В процессе, который называется унификацией Хань, распознаются общие символы и составляется список «унифицированных идеограмм ККЯ».

Блоки Юникода

Стандарт Юникод объединяет группы символов в блоки. Вот полный список блоков по всем 17-ти плоскостям.

Название От До # кодовых точек
Основная латиница U+0000 U+007F 128
Дополнение к латинице — 1 U+0080 U+00FF 128
Расширенная латиница — A U+0100 U+017F 128
Расширенная латиница — B U+0180 U+024F 208
Расширения МФА U+0250 U+02AF 96
Модификаторы букв U+02B0 U+02FF 80
Комбинируемые диакритические знаки U+0300 U+036F 112
Греческое и коптское письмо U+0370 U+03FF 135
Кириллица U+0400 U+04FF 256
Дополнение к кириллице U+0500 U+052F 48
Армянское письмо U+0530 U+058F 89
Еврейское письмо U+0590 U+05FF 87
Арабское письмо U+0600 U+06FF 255
Сирийское письмо U+0700 U+074F 77
Дополнение к арабскому письму U+0750 U+077F 48
Тана U+0780 U+07BF 50
Нко U+07C0 U+07FF 59
Самаритянское письмо U+0800 U+083F 61
Мандейское письмо U+0840 U+085F 29
Расширенное арабское письмо — A U+08A0 U+08FF 50
Девангари U+0900 U+097F 128
Бенгальское письмо U+0980 U+09FF 93
Гурмукхи U+0A00 U+0A7F 79
Гуджарати U+0A80 U+0AFF 85
Ория U+0B00 U+0B7F 90
Тамильское письмо U+0B80 U+0BFF 72
Телугу U+0C00 U+0C7F 96
Каннада U+0C80 U+0CFF 87
Малаялам U+0D00 U+0D7F 100
Сингальское письмо U+0D80 U+0DFF 90
Тайское письмо U+0E00 U+0E7F 87
Лаосское письмо U+0E80 U+0EFF 67
Тибетское письмо U+0F00 U+0FFF 211
Бирманское письмо U+1000 U+109F 160
Грузинское письмо U+10A0 U+10FF 88
Элементы хангыля U+1100 U+11FF 256
Эфиопское письмо U+1200 U+137F 358
Дополнение к эфиопскому письму U+1380 U+139F 26
Чероки U+13A0 U+13FF 92
Канадское слоговое письмо U+1400 U+167F 640
Огамическое письмо U+1680 U+169F 29
Руны U+16A0 U+16FF 89
Байбайин U+1700 U+171F 20
Хануноо U+1720 U+173F 23
Бухид U+1740 U+175F 20
Тагбанва U+1760 U+177F 18
Кхмерское письмо U+1780 U+17FF 114
Старомонгольское письмо U+1800 U+18AF 156
Расширенное канадское слоговое письмо U+18B0 U+18FF 70
Лимбу U+1900 U+194F 68
Лы U+1950 U+197F 35
Ныа U+1980 U+19DF 83
Кхмерские символы U+19E0 U+19FF 32
Лонтара U+1A00 U+1A1F 30
Ланна U+1A20 U+1AAF 127
Расширенные комбинируемые диакритические знаки U+1AB0 U+1AFF 15
Балийское письмо U+1B00 U+1B7F 121
Сунданское письмо U+1B80 U+1BBF 64
Батакское письмо U+1BC0 U+1BFF 56
Лепча U+1C00 U+1C4F 74
Ол-чики U+1C50 U+1C7F 48
Дополнение к сунданскому письму U+1CC0 U+1CCF 8
Расширения Веды U+1CD0 U+1CFF 41
Фонетические расширения U+1D00 U+1D7F 128
Дополнение к фонетическим расширениям U+1D80 U+1DBF 64
U+1DFF Дополнение к комбинируемым диакритическим знакам U+1DC0 U+1DFF 58
Дополнительная расширенная латиница U+1E00 U+1EFF 256
Расширенное греческое письмо U+1F00 U+1FFF 233
Основная пунктуация U+2000 U+206F 111
Надстрочные и подстрочные знаки U+2070 U+209F 42
Знаки валют U+20A0 U+20CF 31
Комбинируемые диакритические знаки для символов U+20D0 U+20FF 33
Буквоподобные символы U+2100 U+214F 80
Числовые формы U+2150 U+218F 60
Стрелки U+2190 U+21FF 112
Математические операторы U+2200 U+22FF 256
Разные технические знаки U+2300 U+23FF 251
Пиктограммы управляющих символов U+2400 U+243F 39
Оптическое распознавание символов U+2440 U+245F 11
Обрамлённые буквы и цифры U+2460 U+24FF 160
Псевдографика U+2500 U+257F 128
Блочные элементы U+2580 U+259F 32
Геометрические фигуры U+25A0 U+25FF 96
Разные символы U+2600 U+26FF 256
Dingbats U+2700 U+27BF 192
Разные математические символы — A U+27C0 U+27EF 48
Дополнительные стрелки — A U+27F0 U+27FF 16
Шрифт Брайля U+2800 U+28FF 256
Дополнительные стрелки — B U+2900 U+297F 128
Разные математические символы — B U+2980 U+29FF 128
Дополнительные математические операторы U+2A00 U+2AFF 256
Разные символы и стрелки U+2B00 U+2BFF 206
Глаголица U+2C00 U+2C5F 94
Расширенная латиница — C U+2C60 U+2C7F 32
Коптское письмо U+2C80 U+2CFF 123
Дополнение к грузинскому письму U+2D00 U+2D2F 40
Древнеливийское письмо U+2D30 U+2D7F 59
Расширенное эфиопское письмо U+2D80 U+2DDF 79
Расширенная кириллица — A U+2DE0 U+2DFF 32
Дополнительная пунктуация U+2E00 U+2E7F 67
Дополнение к ключам ККЯ U+2E80 U+2EFF 115
Ключи Канси U+2F00 U+2FDF 214
Идеографические пояснительные символы U+2FF0 U+2FFF 12
Символы и пунктуация ККЯ U+3000 U+303F 64
Хирагана U+3040 U+309F 93
Катакана U+30A0 U+30FF 96
Чжуинь фухао U+3100 U+312F 41
Совместимые элементы хангыля U+3130 U+318F 94
Камбун U+3190 U+319F 16
Расширенное чжуинь фухао U+31A0 U+31BF 27
Черты ККЯ U+31C0 U+31EF 36
Фонетические расширения катаканы U+31F0 U+31FF 16
Обрамлённые буквы и месяцы ККЯ U+3200 U+32FF 254
Совместимые элементы ККЯ U+3300 U+33FF 256
Унифицированные идеограммы ККЯ — расширение A U+3400 U+4DBF 6191
Гексаграммы «Книги Перемен» U+4DC0 U+4DFF 64
Унифицированные идеограммы ККЯ U+4E00 U+9FFF 20941
Слоговое письмо и U+A000 U+A48F 1165
Ключи письма и U+A490 U+A4CF 55
Лису U+A4D0 U+A4FF 48
Ваи U+A500 U+A63F 300
Расширенная кириллица — B U+A640 U+A69F 96
Бамум U+A6A0 U+A6FF 88
Символы изменения тона U+A700 U+A71F 32
Расширенная латиница — D U+A720 U+A7FF 159
Силхетское нагари U+A800 U+A82F 44
Общеиндийские числовые формы U+A830 U+A83F 10
Монгольское квадратное письмо U+A840 U+A87F 56
Саураштра U+A880 U+A8DF 81
Расширенное деванагари U+A8E0 U+A8FF 30
Кая-ли U+A900 U+A92F 48
Реджанг U+A930 U+A95F 37
Расширенные элементы хангыля — A U+A960 U+A97F 29
Яванское письмо U+A980 U+A9DF 91
Расширенное бирманское письмо — B U+A9E0 U+A9FF 31
Чамское письмо U+AA00 U+AA5F 83
Расширенное бирманское письмо — A U+AA60 U+AA7F 32
Тай-вьет U+AA80 U+AADF 72
Расширения манипури U+AAE0 U+AAFF 23
Расширенное эфиопское письмо — A U+AB00 U+AB2F 32
Расширенная латиница — E U+AB30 U+AB6F 54
Дополнение к чероки U+AB70 U+ABBF 80
Манипури U+ABC0 U+ABFF 56
Слоговое письмо хангыля U+AC00 U+D7AF 2
Расширенные элементы хангыля — B U+D7B0 U+D7FF 72
Верхняя часть суррогатных пар U+D800 U+DB7F 2
Верхняя часть суррогатных пар для частного использования U+DB80 U+DBFF 2
Нижняя часть суррогатных пар U+DC00 U+DFFF 2
Область для частного использования U+E000 U+F8FF 2
Совместимые идеограммы ККЯ U+F900 U+FAFF 472
Алфавитные формы представления U+FB00 U+FB4F 58
Арабские формы представления — A U+FB50 U+FDFF 643
Вариантные селекторы U+FE00 U+FE0F 16
Вертикальные формы U+FE10 U+FE1F 10
Комбинируемые полузнаки U+FE20 U+FE2F 16
Совместимые формы ККЯ U+FE30 U+FE4F 32
Малые вариантные формы U+FE50 U+FE6F 26
Арабские формы представления — B U+FE70 U+FEFF 141
Полуширинные и полноширинные формы U+FF00 U+FFEF 225
Специальные символы U+FFF0 U+FFFF 7
Слоги линейного письма Б U+10000 U+1007F 88
Идеограммы линейного письма Б U+10080 U+100FF 123
Эгейские цифры U+10100 U+1013F 57
Древнегреческие цифры U+10140 U+1018F 77
Древние символы U+10190 U+101CF 13
Фестский диск U+101D0 U+101FF 46
Ликийское письмо U+10280 U+1029F 29
Карийское письмо U+102A0 U+102DF 49
Коптские цифры епакты U+102E0 U+102FF 28
Древнеиталийское письмо U+10300 U+1032F 36
Готское письмо U+10330 U+1034F 27
Древнепермское письмо U+10350 U+1037F 43
Угаритское письмо U+10380 U+1039F 31
Древнеперсидское письмо U+103A0 U+103DF 50
Дезеретское письмо U+10400 U+1044F 80
Алфавит Шоу U+10450 U+1047F 48
Сомалийское письмо U+10480 U+104AF 40
Эльбасанское письмо U+10500 U+1052F 40
Агванское письмо U+10530 U+1056F 53
Линейное письмо А U+10600 U+1077F 341
Кипрское письмо U+10800 U+1083F 55
Имперское арамейское письмо U+10840 U+1085F 31
Пальмирское письмо U+10860 U+1087F 32
Набатейское письмо U+10880 U+108AF 40
Хатран U+108E0 U+108FF 26
Финикийское письмо U+10900 U+1091F 29
Лидийское письмо U+10920 U+1093F 27
Мероитские иероглифы U+10980 U+1099F 32
Мероитский курсив U+109A0 U+109FF 90
Кхароштхи U+10A00 U+10A5F 65
Древнее южноаравийское письмо U+10A60 U+10A7F 32
Древнее северноаравийское письмо U+10A80 U+10A9F 32
Манихейское письмо U+10AC0 U+10AFF 51
Авестийское письмо U+10B00 U+10B3F 61
Парфянское эпиграфическое письмо U+10B40 U+10B5F 30
Пахлевийское эпиграфическое письмо U+10B60 U+10B7F 27
Псалтирь пахлеви U+10B80 U+10BAF 29
Древнетюркское руническое письмо U+10C00 U+10C4F 73
Венгерские руны U+10C80 U+10CFF 108
Цифры руми U+10E60 U+10E7F 31
Брахми U+11000 U+1107F 109
Кайтхи U+11080 U+110CF 66
Соранг-сомпенг U+110D0 U+110FF 35
Чакма U+11100 U+1114F 67
Махаджани U+11150 U+1117F 39
Шарада U+11180 U+111DF 94
Сингальские архаические цифры U+111E0 U+111FF 20
Ходжики U+11200 U+1124F 61
Мултани U+11280 U+112AF 38
Худабади U+112B0 U+112FF 69
Грантха U+11300 U+1137F 85
Тирхута U+11480 U+114DF 82
Сиддхаматрика U+11580 U+115FF 92
Моди U+11600 U+1165F 79
Такри U+11680 U+116CF 66
Ахом U+11700 U+1173F 57
Варанг-кшити U+118A0 U+118FF 84
По Чин Хо U+11AC0 U+11AFF 57
Клинопись U+12000 U+123FF 922
Клинописные цифры и пунктуация U+12400 U+1247F 116
Раннединастическая клинопись U+12480 U+1254F 196
Египетские иероглифы U+13000 U+1342F 1071
Анатолийские иероглифы U+14400 U+1467F 583
Дополнение к бамуму U+16800 U+16A3F 569
Мро U+16A40 U+16A6F 43
Басса U+16AD0 U+16AFF 36
Пахау U+16B00 U+16B8F 127
Мяо U+16F00 U+16F9F 133
Дополнение к кане U+1B000 U+1B0FF 2
Стенография Дюплойе U+1BC00 U+1BC9F 143
Форматирующие символы стенографии U+1BCA0 U+1BCAF 4
Византийские музыкальные символы U+1D000 U+1D0FF 246
Музыкальные символы U+1D100 U+1D1FF 231
Древнегреческая нотопись U+1D200 U+1D24F 70
Символы «Канона великого сокровенного» U+1D300 U+1D35F 87
Цифры счётных палочек U+1D360 U+1D37F 18
Математические буквы и цифры U+1D400 U+1D7FF 996
SignWriting U+1D800 U+1DAAF 672
Кикакуи U+1E800 U+1E8DF 213
Арабские математические алфавитные символы U+1EE00 U+1EEFF 143
Кости для маджонга U+1F000 U+1F02F 44
Кости для домино U+1F030 U+1F09F 100
Игральные карты U+1F0A0 U+1F0FF 82
Дополнение к обрамлённым буквам и цифрам U+1F100 U+1F1FF 173
Дополнение к обрамлённым идеографическим символам U+1F200 U+1F2FF 57
Разные символы и пиктограммы U+1F300 U+1F5FF 766
Эмотиконы U+1F600 U+1F64F 80
Орнаментные символы U+1F650 U+1F67F 48
Транспортные и картографические символы U+1F680 U+1F6FF 98
Алхимические символы U+1F700 U+1F77F 116
Расширенные геометрические фигуры U+1F780 U+1F7FF 85
Дополнительные стрелки — C U+1F800 U+1F8FF 148
Дополнительные символы и пиктограммы U+1F900 U+1F9FF 15
Унифицированные идеограммы ККЯ — расширение B U+20000 U+2A6DF 42676
Унифицированные идеограммы ККЯ — расширение C U+2A700 U+2B73F 60
Унифицированные идеограммы ККЯ — расширение D U+2B740 U+2B81F 27
Унифицированные идеограммы ККЯ — расширение E U+2B820 U+2CEAF 2
Дополнение к совместимым иероглифам ККЯ U+2F800 U+2FA1F 542
Tags U+E0000 U+E007F 97
Дополнение к вариантным селекторам U+E0100 U+E01EF 240
Дополнительная область для частного использования — A U+F0000 U+FFFFF 4
Дополнительная область для частного использования — B U+100000 U+10FFFF 4

Принципы Стандарта Юникод

Стандарт Юникод устанавливает следующие фундаментальные принципы:

Источник

Читайте также:  амолед или ипс что лучше для глаз
Информ портал о технике и не только