Юникод таблица кодировки: ✔️ ❤️ ★ Unicode Character Table

Содержание

Юникод для чайников / Хабр


Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.
Зачем?

Главный вопрос новичка, который встречается с впечатляющим количеством кодировок и на первый взгляд запутанными механизмами работы с ними (например, в Python 2.x). Краткий ответ — потому что так сложилось 🙂

Кодировкой, кто не знает, называют способ представления в памяти компьютера (читай — в нулях-единицах\числах) цифр, буков и всех остальных знаков. Например, пробел представляется как 0b100000 (в двоичной), 32 (в десятичной) или 0x20 (в шестнадцатеричной системе счисления).

Так вот, когда-то памяти было совсем немного и всем компьютерам было достаточно 7 бит для представления всех нужных символов (цифры, строчный\прописной латинский алфавит, куча знаков и так называемые управляемые символы — все возможные 127 номеров были кому-то отданы). Кодировка в это время была одна — ASCII. Шло время, все были счастливы, а кто не был счастлив (читай — кому не хватало знака «©» или родной буквы «щ») — использовали оставшиеся 128 знаков на свое усмотрение, то есть создавали новые кодировки. Так появились и ISO-8859-1, и наши (то есть кириличные) cp1251 и KOI8. Вместе с ними появилась и проблема интерпретации байтов типа 0b1******* (то есть символов\чисел от 128 и до 255) — например, 0b11011111 в кодировке cp1251 это наша родная «Я», в тоже время в кодировке ISO-8859-1 это

греческая немецкая Eszett (подсказывает Moonrise) «ß». Ожидаемо, сетевая коммуникация и просто обмен файлами между разными компьютерами превратились в чёрт-знает-что, несмотря на то, что заголовки типа ‘Content-Encoding’ в HTTP протоколе, email-письмах и HTML-страницах немного спасали ситуацию.

В этот момент собрались светлые умы и предложили новый стандарт — Unicode. Это именно стандарт, а не кодировка — сам по себе Юникод не определяет, как символы будут сохранятся на жестком диске или передаваться по сети. Он лишь определяет связь между символом и некоторым числом, а формат, согласно с которым эти числа будут превращаться в байты, определяется Юникод-кодировками (например, UTF-8 или UTF-16). На данный момент в Юникод-стандарте есть немного более 100 тысяч символов, тогда как UTF-16 позволяет поддерживать более одного миллиона (UTF-8 — и того больше).

Полней и веселей по теме советую почитать у великолепного Джоеля Спольски The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets.

Ближе к делу!

Естественно, есть поддержка Юникода и в Пайтоне. Но, к сожалению, только в Python 3 все строки стали юникодом, и новичкам приходиться убиваться об ошибки типа:
>>> with open('1.txt') as fh:
	s = fh.read()

>>> print s
кощей
>>> parser_result = u'баба-яга'  # присвоение для наглядности, представим себе, что это результат работы какого-то парсера
>>> parser_result + s
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    parser_result + s
UnicodeDecodeError: 'ascii' codec can't decode byte 0xea in position 0: ordinal not in range(128)

или так:
>>> str(parser_result)
Traceback (most recent call last):
  File "<pyshell#52>", line 1, in <module>
    str(parser_result)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

Давайте разберемся, но по порядку.
Зачем кто-то использует Юникод?

Почему мой любимый html-парсер возвращает Юникод? Пусть возвращает обычную строку, а я там уже с ней разберусь! Верно? Не совсем. Хотя каждый из существующих в Юникоде символов и можно (наверное) представить в некоторой однобайтовой кодировке (ISO-8859-1, cp1251 и другие называют однобайтовыми, поскольку любой символ они кодируют ровно в один байт), но что делать если в строке должны быть символы с разных кодировок? Присваивать отдельную кодировку каждому символу? Нет, конечно, надо использовать Юникод.
Зачем нам новый тип «unicode»?

Вот мы и добрались до самого интересного. Что такое строка в Python 2.x? Это просто байты. Просто бинарные данные, которые могут быть чем-угодно. На самом деле, когда мы пишем что-нибудь вроде:
>>> x = 'abcd'
>>> x
'abcd'
интерпретатор не создает переменную, которая содержит первые четыре буквы латинского алфавита, но только последовательность
('a', 'b', 'c', 'd')
с четырёх байт, и латинские буквы здесь используются исключительно для обозначения именно этого значения байта. То есть ‘a’ здесь просто синоним для написания ‘\x61’, и ни чуточку больше. Например:
>>> '\x61' 
'a'
>>> struct.unpack('>4b', x)  # 'x' - это просто четыре signed/unsigned char-а
(97, 98, 99, 100)
>>> struct.unpack('>2h', x)  # или два short-а
(24930, 25444)
>>> struct.unpack('>l', x)  # или один long
(1633837924,)
>>> struct.unpack('>f', x)  # или float
(2.6100787562286154e+20,)
>>> struct.unpack('>d', x * 2)   # ну или половинка double-а
(1.2926117739473244e+161,)

И всё!

И ответ на вопрос — зачем нам «unicode» уже более очевиден — нужен тип, который будет представятся символами, а не байтами.

Хорошо, я понял чем есть строка. Тогда что такое Юникод в Пайтоне?

«type unicode» — это прежде всего абстракция, которая реализует идею Юникода (набор символов и связанных с ними чисел). Объект типа «unicode» — это уже не последовательность байт, но последовательность собственно символов без какого либо представления о том, как эти символы эффективно сохранить в памяти компьютера. Если хотите — это более высокой уровень абстракции, чем байтовый строки (именно так в Python 3 называют обычные строки, которые используются в Python 2.6).
Как пользоваться Юникодом?

Юникод-строку в Python 2.6 можно создать тремя (как минимум, естественно) способами:
  • u»» литерал:
    >>> u'abc'
    u'abc'
    

  • Метод «decode» для байтовой строки:
    >>> 'abc'.decode('ascii')
    u'abc'
    

  • Функция «unicode»:
    >>> unicode('abc', 'ascii')
    u'abc'
    

ascii в последних двух примерах указывается в качестве кодировки, что будет использоваться для превращения байтов в символы. Этапы этого превращения выглядят примерно так:
'\x61' -> кодировка ascii -> строчная латинская "a" -> u'\u0061' (unicode-point для этой буквы) или '\xe0' -> кодировка c1251 -> строчная кириличная "a" -> u'\u0430'

Как из юникод-строки получить обычную? Закодировать её:

>>> u'abc'.encode('ascii')
'abc'

Алгоритм кодирования естественно обратный приведенному выше.

Запоминаем и не путаем — юникод == символы, строка == байты, и байты -> что-то значащее (символы) — это де-кодирование (decode), а символы -> байты — кодирование (encode).

Не кодируется 🙁

Разберем примеры с начала статьи. Как работает конкатенация строки и юникод-строки? Простая строка должна быть превращена в юникод-строку, и поскольку интерпретатор не знает кодировки, от использует кодировку по умолчанию — ascii. Если этой кодировке не удастся декодировать строку, получим некрасивую ошибку. В таком случае нам нужно самим привести строку к юникод-строке, используя правильную кодировку:
>>> print type(parser_result), parser_result <type 'unicode'> баба-яга >>> s = 'кощей' >>> parser_result + s
Traceback (most recent call last):
  File "<pyshell#67>", line 1, in <module>
    parser_result + s
UnicodeDecodeError: 'ascii' codec can't decode byte 0xea in position 0: ordinal not in range(128)
>>> parser_result + s.decode('cp1251')
u'\xe1\xe0\xe1\xe0-\xff\xe3\xe0\u043a\u043e\u0449\u0435\u0439'
>>> print parser_result + s.decode('cp1251')
баба-ягакощей
>>> print '&'.join((parser_result, s.decode('cp1251')))
баба-яга&кощей   # Так лучше :)

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

Теперь использование «str» и юникод-строк. Не используйте «str» и юникод строки 🙂 В «str» нет возможности указать кодировку, соответственно кодировка по умолчанию будет использоваться всегда и любые символы > 128 будут приводить к ошибке. Используйте метод «encode»:

>>> print type(s), s
<type 'unicode'> кощей
>>> str(s)
Traceback (most recent call last):
  File "<pyshell#90>", line 1, in <module>
    str(s)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
>>> s = s.encode('cp1251')
>>> print type(s), s
<type 'str'> кощей

«UnicodeEncodeError» — знак того, что нам нужно указать правильную кодировку во время превращения юникод-строки в обычную (или использовать второй параметр ‘ignore’\’replace’\’xmlcharrefreplace’ в методе «encode»).

Хочу ещё!

Хорошо, используем бабу-ягу из примера выше ещё раз:
>>> parser_result = u'баба-яга'   #1
>>> parser_result
u'\xe1\xe0\xe1\xe0-\xff\xe3\xe0'   #2
>>> print parser_result
áàáà-ÿãà   #3
>>> print parser_result.encode('latin1')  #4
баба-яга
>>> print parser_result.encode('latin1').decode('cp1251')  #5
баба-яга
>>> print unicode('баба-яга', 'cp1251')   #6
баба-яга

Пример не совсем простой, но тут есть всё (ну или почти всё). Что здесь происходит:
  1. Что имеем на входе? Байты, которые IDLE передает интерпретатору. Что нужно на выходе? Юникод, то есть символы. Осталось байты превратить в символы — но ведь надо кодировку, правда? Какая кодировка будет использована? Смотрим дальше.
  2. Здесь важной момент:
    >>> 'баба-яга'
    '\xe1\xe0\xe1\xe0-\xff\xe3\xe0'
    >>> u'\u00e1\u00e0\u00e1\u00e0-\u00ff\u00e3\u00e0' == u'\xe1\xe0\xe1\xe0-\xff\xe3\xe0'
    True
    
    как видим, Пайтон не заморачивается с выбором кодировки — байты просто превращаются в юникод-поинты:
    >>> ord('а')
    224
    >>> ord(u'а')
    224
    
  3. Только вот проблема — 224-ый символ в cp1251 (кодировка, которая используется интерпретатором) совсем не тот, что 224 в Юникоде. Именно из-за этого получаем кракозябры при попытке напечатать нашу юникод-строку.
  4. Как помочь бабе? Оказывается, что первые 256 символов Юникода те же, что и в кодировке ISO-8859-1\latin1, соответственно, если используем её для кодировки юникод-строки, получим те байты, которые вводили сами (кому интересно — Objects/unicodeobject.c, ищем определение функции «unicode_encode_ucs1»):
    >>> parser_result.encode('latin1') '\xe1\xe0\xe1\xe0-\xff\xe3\xe0'
  5. Как же получить бабу в юникоде? Надо указать, какую кодировку использовать:
    >>> parser_result.encode('latin1').decode('cp1251')
    u'\u0431\u0430\u0431\u0430-\u044f\u0433\u0430'
    
  6. Способ с пункта #5 конечно не ахти, намного удобней использовать использовать built-in unicode.
На самом деле не всё так плохо с «u»» литералами, поскольку проблема возникает только в консоле. Ведь в случае использования non-ascii символов в исходном файле Пайтон будет настаивать на использовании заголовка типа «# -*- coding: -*-» (PEP 0263), и юникод-строки будут использовать правильную кодировку.

Есть ещё способ использования «u»» для представления, например, кириллицы, и при этом не указывать кодировку или нечитабельные юникод-поинты (то есть «u’\u1234’»). Способ не совсем удобный, но интересный — использовать unicode entity codes:

>>> s = u'\N{CYRILLIC SMALL LETTER KA}\N{CYRILLIC SMALL LETTER O}\N{CYRILLIC SMALL LETTER SHCHA}\N{CYRILLIC SMALL LETTER IE}\N{CYRILLIC SMALL LETTER SHORT I}'
>>> print s
кощей

Ну и вроде всё. Основные советы — не путать «encode»\«decode» и понимать различия между байтами и символами.

Python 3

Здесь без кода, ибо опыта нет. Свидетели утверждают, что там всё значительно проще и веселее. Кто возьмется на кошках продемонстрировать различия между здесь (Python 2.x) и там (Python 3.x) — респект и уважуха.
Полезно

Раз уж мы о кодировках, порекомендую ресурс, который время-от-времени помогает побороть кракозябры — http://2cyr.com/decode/?lang=ru.

Ещё раз линк на статью Спольски — The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets.

Unicode HOWTO — официальный документ о том где, как и зачем Юникод в Python 2.x.

Спасибо за внимание. Буду благодарен за замечания в приват.

P.S. Подкинули линк на перевод Спольски — Абсолютный Минимум, который Каждый Разработчик Программного Обеспечения Обязательно Должен Знать о Unicode и Наборах Символов.

Любые числа (в определенных пределах) в памяти компьютера кодируются числами двоичной системы счисления. Для этого существуют простые и понятные правила перевода. Однако на сегодняшний день компьютер используется куда шире, чем в роли исполнителя трудоемких вычислений. Например, в памяти ЭВМ хранятся текстовая и мультимедийная информация. Поэтому возникает первый вопрос:

Как в памяти компьютера хранятся символы (буквы)?

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

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

Однако алфавитов в мире очень много (английский, русский, китайский и др.). Поэтому следующий вопрос:

Как закодировать все используемые на компьютере алфавиты?

Для ответа на этот вопрос пойдем историческим путем.

В 60-х годах XX века в американском национальном институте стандартизации (ANSI) была разработана таблица кодирования символов, которая впоследствии была использована во всех операционных системах. Эта таблица называется ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Чуть позже появилась расширенная версия ASCII.

В соответствие с таблицей кодирования ASCII для представления одного символа выделяется 1 байт (8 бит). Набор из 8 ячеек может принять 28 = 256 различных значений. Первые 128 значений (от 0 до 127) постоянны и формируют так называемую основную часть таблицы, куда входят десятичные цифры, буквы латинского алфавита (заглавные и строчные), знаки препинания (точка, запятая, скобки и др.), а также пробел и различные служебные символы (табуляция, перевод строки и др.). Значения от 128 до 255 формируют дополнительную часть таблицы, где принято кодировать символы национальных алфавитов.

Поскольку национальных алфавитов огромное множество, то расширенные ASCII-таблицы существуют во множестве вариантов. Даже для русского языка существуют несколько таблиц кодирования (распространены Windows-1251 и Koi8-r). Все это создает дополнительные трудности. Например, мы отправляем письмо, написанное в одной кодировке, а получатель пытается прочитать ее в другой. В результате видит кракозябры. Поэтому читающему требуется применить для текста другую таблицу кодирования.

Есть и другая проблема. В алфавитах некоторых языков слишком много символов и они не помещаются в отведенные им позиции с 128 до 255 однобайтовой кодировки.

Третья проблема — что делать, если в тексте используется несколько языков (например, русский, английский и французский)? Нельзя же использовать две таблицы сразу …

Чтобы решить эти проблемы одним разом была разработана кодировка Unicode.

Стандарт кодирования символов Unicode

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

В Unicode для кодирования символов предоставляется 31 бит (4 байта за вычетом одного бита). Количество возможных комбинаций дает запредельное число: 231 = 2 147 483 684 (т.е. более двух миллиардов). Поэтому Unicode описывает алфавиты всех известных языков, даже «мертвых» и выдуманных, включает многие математические и иные специальные символы. Однако информационная емкость 31-битового Unicode все равно остается слишком большой. Поэтому чаще используется сокращенная 16-битовая версия (216 = 65 536 значений), где кодируются все современные алфавиты.

В Unicode первые 128 кодов совпадают с таблицей ASCII.

Таблицы кодировки — SysadminWiki.ru

Исторически так сложилось, что кириллическая кодировка существует в нескольких видах.

Windows-1251

Кодировка Windows-1251 (cp1251) является стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. У неё существуют разновидности: казахская, чувашская и т.д. Первая часть таблицы кодировки (латиница) полностью соответствует кодировке ASCII. Вторая часть (под символами указаны шестнадцатеричные коды Unicode) приводится ниже:

0 1 2 3 4 5 6 7 8 9 A B C D E F
8 Ђ
0402
Ѓ
0403

201A
ѓ
0453

201E

2026

2020

2021

20AC

2030
Љ
0409

2039
Њ
040A
Ќ
040C
Ћ
040B
Џ
040F
9 ђ
0452

2018

2019

201C

201D

2022

2013

2014

2122
љ
0459

203A
њ
045A
ќ
045C
ћ
045B
џ
045F
A  
00A0
Ў
040E
ў
045E
Ј
0408
¤
00A4
Ґ
0490
¦
00A6
§
00A7
Ё
0401
©
00A9
Є
0404
« 
00AB
¬
00AC
­
00AD
®
00AE
Ї
0407
B °
00B0
±
00B1
І
0406
і
0456
ґ
0491
µ
00B5

00B6
·
00B7
ё
0451

2116
є
0454
»
00BB
ј
0458
Ѕ
0405
ѕ
0455
ї
0457
C А
0410
Б
0411
В
0412
Г
0413
Д
0414
Е
0415
Ж
0416
З
0417
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
П
041F
D Р
0420
С
0421
Т
0422
У
0423
Ф
0424
Х
0425
Ц
0426
Ч
0427
Ш
0428
Щ
0429
Ъ
042A
Ы
042B
Ь
042C
Э
042D
Ю
042E
Я
042F
E а
0430
б
0431
в
0432
г
0433
д
0434
е
0435
ж
0436
з
0437
и
0438
й
0439
к
043A
л
043B
м
043C
н
043D
о
043E
п
043F
F р
0440
с
0441
т
0442
у
0443
ф
0444
х
0445
ц
0446
ч
0447
ш
0448
щ
0449
ъ
044A
ы
044B
ь
044C
э
044D
ю
044E
я
044F

cp866

В консоли русифицированных систем семейства Windows NT используется кодировка cp866. Первая часть таблицы кодировки (латиница) полностью соответствует кодировке ASCII. Вторая часть (под символами указаны шестнадцатеричные коды Unicode):

Для кодировки cp866 существуют разновидности (чувашская, ГОСТ 19768-87 и т.д.).

0 1 2 3 4 5 6 7 8 9 A B C D E F
8 А
0410
Б
0411
В
0412
Г
0413
Д
0414
Е
0415
Ж
0416
З
0417
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
П
041F
9 Р
0420
С
0421
Т
0422
У
0423
Ф
0424
Х
0425
Ц
0426
Ч
0427
Ш
0428
Щ
0429
Ъ
042A
Ы
042B
Ь
042C
Э
042D
Ю
042E
Я
042F
A а
0430
б
0431
в
0432
г
0433
д
0434
е
0435
ж
0436
з
0437
и
0438
й
0439
к
043A
л
043B
м
043C
н
043D
о
043E
п
043F
B
2591

2592

2593

2502

2524

2561

2562

2556

2555

2563

2551

2557

255D

255C

255B

2510
C
2514

2534

252C

251C

2500

253C

255E

255F

255A

2554

2569

2566

2560

2550

256C

2567
D
2568

2564

2565

2559

2558

2552

2553

256B

256A

2518

250C

2588

2584

258C

2590

2580
E р
0440
с
0441
т
0442
у
0443
ф
0444
х
0445
ц
0446
ч
0447
ш
0448
щ
0449
ъ
044A
ы
044B
ь
044C
э
044D
ю
044E
я
044F
F Ё
0401
ё
0451
Є
0404
є
0454
Ї
0407
ї
0457
Ў
040E
ў
045E
°
00B0

2219
·
00B7

221A

2116
¤
00A4

25A0
 
00A0

KOI8

Стандартом для русской кириллицы в юникс-подобных операционных системах является кодировка КОИ-8 (код обмена информацией, 8 битов), или KOI8. Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов. Русский алфавит описывается в кодировке KOI8-R, украинский — в KOI8-U, существуют также кодировки KOI8-RU (русско-белорусско-украинская), KOI8-T (таджикская) и т.д.

Разработчики КОИ-8 разместили символы русского алфавита таким образом, что если в тексте, написанном в КОИ-8, убирать восьмой бит каждого символа, то получается «читабельный» текст, хотя он и написан латинскими символами.

Вторая часть кодировки KOI8-R (русская), под символами указаны шестнадцатеричные коды Unicode:

0 1 2 3 4 5 6 7 8 9 A B C D E F
8
2500

2502

250C

2510

2514

2518

251C

2524

252C

2534

253C

2580

2584

2588

258C

2590
9
2591

2592

2593
⌠23
20

25A0

2219

221A

2248

2264

2265
 
00A0

2321
°
00B0
²
00B2
·
00B7
÷
00F7
A
2550

2551

2552
ё
0451

2553

2554

2555

2556

2557

2558

2559

255A

255B

255C

255D

255E
B
255F

2560

2561
Ё
0401

2562

2563

2564

2565

2566

2567

2568

2569

256A

256B

256C
©
00A9
C ю
044E
а
0430
б
0431
ц
0446
д
0434
е
0435
ф
0444
г
0433
х
0445
и
0438
й
0439
к
043A
л
043B
м
043C
н
043D
о
043E
D п
043F
я
044F
р
0440
с
0441
т
0442
у
0443
ж
0436
в
0432
ь
044C
ы
044B
з
0437
ш
0448
э
044D
щ
0449
ч
0447
ъ
044A
C Ю
042E
А
0410
Б
0411
Ц
0426
Д
0414
Е
0415
Ф
0424
Г
0413
Х
0425
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
D П
041F
Я
042F
Р
0420
С
0421
Т
0422
У
0423
Ж
0416
В
0412
Ь
042C
Ы
042B
З
0417
Ш
0428
Э
042D
Щ
0429
Ч
0427
Ъ
042A

Юникод (Unicode)

В Юникоде нет русских букв с ударением, поэтому приходится их делать составными, добавляя символ U+0301 («combining acute accent») после ударной гласной (например, ы́ э́ ю́ я́).

0 1 2 3 4 5 6 7 8 9 A B C D E F
400 Ѐ Ё Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ѝ Ў Џ
410 А Б В Г Д Е Ж З И Й К Л М Н О П
420 Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
430 а б в г д е ж з и й к л м н о п
440 р с т у ф х ц ч ш щ ъ ы ь э ю я
450 ѐ ё ђ ѓ є ѕ і ї ј љ њ ћ ќ ѝ ў џ
460 Ѡ ѡ Ѣ ѣ Ѥ ѥ Ѧ ѧ Ѩ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ
470 Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ ѷ Ѹ ѹ Ѻ ѻ Ѽ ѽ Ѿ ѿ
480 Ҁ ҁ ҂ ҃ ҄ ҅ ҆ ҇ ҈ ҉ Ҋ ҋ Ҍ ҍ Ҏ ҏ
490 Ґ ґ Ғ ғ Ҕ ҕ Җ җ Ҙ ҙ Қ қ Ҝ ҝ Ҟ ҟ
4A0 Ҡ ҡ Ң ң Ҥ ҥ Ҧ ҧ Ҩ ҩ Ҫ ҫ Ҭ ҭ Ү ү
4B0 Ұ ұ Ҳ ҳ Ҵ ҵ Ҷ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ
4C0 Ӏ Ӂ ӂ Ӄ ӄ Ӆ ӆ Ӈ ӈ Ӊ ӊ Ӌ ӌ Ӎ ӎ ӏ
4D0 Ӑ ӑ Ӓ ӓ Ӕ ӕ Ӗ ӗ Ә ә Ӛ ӛ Ӝ ӝ Ӟ ӟ
4E0 Ӡ ӡ Ӣ ӣ Ӥ ӥ Ӧ ӧ Ө ө Ӫ ӫ Ӭ ӭ Ӯ ӯ
4F0 Ӱ ӱ Ӳ ӳ Ӵ ӵ Ӷ ӷ Ӹ ӹ Ӻ ӻ Ӽ ӽ Ӿ ӿ
500 Ԁ ԁ Ԃ ԃ Ԅ ԅ Ԇ ԇ Ԉ ԉ Ԋ ԋ Ԍ ԍ Ԏ ԏ
510 Ԑ ԑ Ԓ ԓ Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ
520 Ԡ ԡ Ԣ ԣ Ԥ ԥ Ԧ ԧ
2DE0
2DF0 ⷿ
A640
A650
A660
A670
A680
A690

Таблица кодов символов кирилицы UTF-8



Область UTF-8 с кодами от U+0000 до U+0500 — это базовая область символов кирилицы.

Если Вы хотите какой-либо из этих знаков отобразить в HTML-документе, Вы можете использовать шестнадцатеричное (Hex) значение ( &&num;x + код + 😉 или десятичное (Dec) значение ( &&num; + код + 😉 из таблицы кодов.

В следующем примере видно как можно отобразить заглавную букву Ё, используя символы кодировки UTF-8:

Пример: Литера Ё

Десятичный код: Ё
Шестнадцатиричный код: Ё

<p>Десятичный код: &#1025;</p>
<p>Шестнадцатиричный код: &#x0401;</p>

Таблица кодов символов кирилицы UTF-8 от U+0400 до U+0500

СимволDecHex  СимволDecHex
Ѐ10240400  Ҁ11520480
Ё10250401  ҁ11530481
Ђ10260402  ҂11540482
Ѓ10270403  о҃11550483
Є10280404  о҄11560484
Ѕ10290405  о҅11570485
І10300406  о҆11580486
Ї10310407  о҇11590487
Ј10320408  о҈11600488
Љ10330409  о҉11610489
Њ1034040A  Ҋ1162048A
Ћ1035040B  ҋ1163048B
Ќ1036040C  Ҍ1164048C
Ѝ1037040D  ҍ1165048D
Ў1038040E  Ҏ1166048E
Џ1039040F  ҏ1167048F
А10400410  Ґ11680490
Б10410411  ґ11690491
В10420412  Ғ11700492
Г10430413  ғ11710493
Д10440414  Ҕ11720494
Е10450415  ҕ11730495
Ж10460416  Җ11740496
З10470417  җ11750497
И10480418  Ҙ11760498
Й10490419  ҙ11770499
К1050041A  Қ1178049A
Л1051041B  қ1179049B
М1052041C  Ҝ1180049C
Н1053041D  ҝ1181049D
О1054041E  Ҟ1182049E
П1055041F  ҟ1183049F
Р10560420  Ҡ118404A0
С10570421  ҡ118504A1
Т10580422  Ң118604A2
У10590423  ң118704A3
Ф10600424  Ҥ118804A4
Х10610425  ҥ118904A5
Ц10620426  Ҧ119004A6
Ч10630427  ҧ119104A7
Ш10640428  Ҩ119204A8
Щ10650429  ҩ119304A9
Ъ1066042A  Ҫ119404AA
Ы1067042B  ҫ119504AB
Ь1068042C  Ҭ119604AC
Э1069042D  ҭ119704AD
Ю1070042E  Ү119804AE
Я1071042F  ү119904AF
а10720430  Ұ120004B0
б10730431  ұ120104B1
в10740432  Ҳ120204B2
г10750433  ҳ120304B3
д10760434  Ҵ120404B4
е10770435  ҵ120504B5
ж10780436  Ҷ120604B6
з10790437  ҷ120704B7
и10800438  Ҹ120804B8
й10810439  ҹ120904B9
к1082043A  Һ121004BA
л1083043B  һ121104BB
м1084043C  Ҽ121204BC
н1085043D  Ҿ121404BE
о1086043E  ҿ121504BF
п1087043F  Ӏ121604C0
р10880440  Ӂ121704C1
с10890441   ӂ121804C2
т10900442  Ӄ121904C3
у10910443  ӄ122004C4
ф10920444  Ӆ122104C5
х10930445  ӆ122204C6
ц10940446  Ӈ122304C7
ч10950447  ӈ122404C8
ш10960448  Ӊ122504C9
щ10970449  ӊ122604CA
ъ1098044A  Ӌ122704CB
ы1099044B  ӌ122804CC
ь1100044C  Ӎ122904CD
э1101044D  ӎ123004CE
ю1102044E  ӏ123104CF
я1103044F  Ӑ123204D0
ѐ11040450  ӑ123304D1
ё11050451  Ӓ123404D2
ђ11060452  ӓ123504D3
ѓ11070453  Ӕ123604D4
є11080454  ӕ123704D5
ѕ11090455  Ӗ123804D6
і11100456  ӗ123904D7
ї11110457  Ә124004D8
ј11120458  ә124104D9
љ11130459  Ӛ124204DA
њ1114045A  ӛ124304DB
ћ1115045B  Ӝ124404DC
ќ1116045C  ӝ124504DD
ѝ1117045D  Ӟ124604DE
ў1118045E  ӟ124704DF
џ1119045F  Ӡ124804E0
Ѡ11200460  ӡ124904E1
ѡ11210461  Ӣ125004E2
Ѣ11220462  ӣ125104E3
ѣ11230463  Ӥ125204E4
Ѥ11240464  ӥ125304E5
ѥ11250465  Ӧ125404E6
Ѧ11260466  ӧ125504E7
ѧ11270467  Ө125604E8
Ѩ11280468  ө125704E9
ѩ11290469  Ӫ125804EA
Ѫ1130046A  ӫ125904EB
ѫ1131046B  Ӭ126004EC
Ѭ1132046C  ӭ126104ED
ѭ1133046D  Ӯ126204EE
Ѯ1134046E  ӯ126304EF
ѯ1135046F  Ӱ126404F0
Ѱ11360470  ӱ126504F1
ѱ11370471  Ӳ126604F2
Ѳ11380472  ӳ126704F3
ѳ11390473  Ӵ126804F4
Ѵ11400474  ӵ126904F5
ѵ11410475  Ӷ127004F6
Ѷ11420476  ӷ127104F7
ѷ11430477  Ӹ127204F8
Ѹ11440478  ӹ127304F9
ѹ11450479  Ӻ127404FA
Ѻ1146047A  ӻ127504FB
ѻ1147047B  Ӽ127604FC
Ѽ1148047C  ӽ127704FD
ѽ1149047D  Ӿ127804FE
Ѿ1150047E  ӿ127904FF
ѿ1151047F  Ԁ12800500

Смотрите также:

URL коды символов ACSII

URL коды символов UTF-8 диапазон от U+0400 до U+04FF

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

Таблица кодов символов Windows-1251





— Пробел: U+0020 — Таблица символов Юникода

Пробел — это расстояние между буквами, разделяющее слова.

Первые письменности были пиктографическими и идеографическими. Каждый символ обозначал слово, и разделять их не требовалось. С переходом на алфавитные системы, читать слитный текст стало очень неудобно. Тогда и появились значки разделяющие слова. Стандартный ныне символ пробела придумали далеко не сразу. В латинских и греческих текстах он применяется около тысячи лет, хотя встречался и ранее. В кириллических — прижился только в XVII веке, а в арабице в XX веке.

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

В Юникоде несколько видов пробела. Есть, например, . Также, несколько символов пробела лежат в разделе   знаки пунктуации 2000–206F .

Другие символы для разделения слов:

Интерпункт. Латинский. Применялся до 600-800 годов.

Угаритский клинописный.

Персидский клинописный.

Ассирийский клинописный.

Эфиопский.

Огамический.

Финикийский.

Самаритянский.

Символ «Пробел» был утвержден как часть Юникода версии 1.1 в 1993 г.

Кодировка «Юникод»: стандарт кодирования символов

В попытках настроить ту или иную функцию интернета любой пользователь наверняка сталкивался с таким понятием, как «Юникод». Чтобы узнать, что означает это понятие, прочитайте данную статью до конца.

«Юникод»: определение

Под термином «Юникод» сегодня имеют в виду стандарт кодирования символов. Данный стандарт был предложен в 1991 году некоммерческой организацией Unicode Inc. Стандарт «Юникод» разрабатывался для объединения большого числа различных символов в одном документе. Страница, созданная на основе такой кодировки, может содержать в себе иероглифы, буквы, и математические символы. В данной кодировке без проблем отображаются все символы.

«Юникод»: причины создания

Еще задолго до появления системы «Юникод», кодировки выбирались исходя из предпочтений автора документа. Нередко по этой причине, чтобы прочитать один документ, приходилось использовать различные таблицы. Однако делать это приходилось по несколько раз. Это существенно усложняло жизнь обычным пользователям. Как уже было сказано ранее, в 1991 году для решения данной проблемы некоммерческая организация Unicode Inc. предложила использовать новый тип кодирования информации. Данный тип кодирования был создан для объединения самых разнообразных стандартов. Кодировка «Юникод» позволила добиться невозможного: создать инструмент, поддерживающий огромное количество разнообразных символов. Полученный результат превзошел ожидания: получились документы, которые одновременно могли содержать в себе как русский, так и английский текст, а также математические выражения и латынь. Перед созданием единой системы кодировки разработчикам предстояло решить целый ряд проблем, возникающих из-за существования огромного числа стандартов, которые уже существовали на данный момент. К самым распространенным из таких проблем относились ограниченность набора символов, эльфийские письмена, дублирование шрифтов и проблема преобразования различных кодировок.

«Юникод»: экскурс в историю

Представьте себе следующую картину: на дворе 80-е, компьютерная техника еще не получила столь широкого распространения и имеет вид, отличный от сегодняшнего. Каждая операционная система по-своему уникальна и доработана энтузиастами под те или иные конкретные нужды. В результате необходимость в обмене информацией привела к дополнительным доработкам. При попытке прочитать документ, созданный в другой операционной системе, на экране обычно выводились непонятные наборы символов. Это требовало дальнейшей работы с кодировкой, которую не всегда получалось выполнить быстро. Порой на обработку необходимого документа уходило несколько месяцев. Пользователи, которым часто приходится обмениваться информацией, стали создавать для себя особые таблицы преобразования. Работа с такими таблицами выявила одну интересную особенность: создавать такие таблицы необходимо одновременно по двум направлениям. Машина не может выполнить банальную инверсию вычислений. Для нее в правом столбце записан исходный файл, а в левом результат. Наоборот переставить их нельзя. При необходимости использовать в документе какие-то специальные символы, сначала их необходимо было добавить, а потом еще объяснить другому пользователю, что нужно с ними сделать, чтобы они не превратились в «крякозябры». Также стоит учитывать, что под каждую кодировку приходилось разрабатывать собственные шрифты. Это привело к созданию огромного количества дублей в операционной системе. Так, например, на одной странице пользователь мог наблюдать десяток шрифтов, идентичных стандартному Times New Roman, но с пометками UCS-2, UTF-16, UTF-8, ANSI. Таким образом, назрела необходимость разработки универсального стандарта.

«Юникод»: создатели

Начало истории создания «Юникод» можно отнести к 1987 году. Именно тогда Джо Беккер из компании Xerox вместе с Марком Дэвисом и Ли Коллинзом из компании Apple приступили к исследованиям в области практической разработки универсальной кодировки. В 1988 году Джо Беккер опубликовал проект создания международной многоязычной кодировки. Несколько месяцев спустя работая группа по разработке «Юникод» была расширена. В нее вошли такие специалисты, как Гленн Райт из Sun Microsystems, Майк Кернеган и Кен Уистлер из RLG. Это позволило завершить работы по предварительному формированию единого стандарта кодирования.

«Юникод»: общее описание

В основе кодировки Unicode лежит общее понятие символа. Под данным определением понимают абстрактное явление, которое существует в виде письменности, реализуемой через графемы. В «Юникод» каждому символу сопоставляется уникальный код, который принадлежит тому или иному блоку стандарта. Так, к примеру, графема «В» присутствует и в английском, и в русском языках, но ей соответствует два разных символа. К данным символам также может применяться преобразование в строчную букву. Это значит, что каждый из этих символов описывается ключом, набором свойств и названием.

«Юникод»: преимущества

От других современных систем кодировки «Юникод» отличается огромным запасом знаков для «шифрования» различных символов. Все дело в том, что предшествующие кодировки имели всего 8 бит. Это значит, что они поддерживали всего 28 символов. Новая разработка имела 216 символов, что стало большим шагом вперед. Таким образом появилась возможность закодировать практически все существующие алфавиты. Необходимость использования таблиц преобразования с появлением «Юникода» отпала. Наличие единого стандарта просто сводило их полезность к нулю. Вместе с тем исчезли и «крякозябры». Появление нового стандарта сделало их существование невозможным. Также была исключена необходимость создания дублей шрифтов.

«Юникод»: развитие

Несмотря на то, что прогресс не стоит на месте, кодировка «Юникод» продолжает удерживать лидирующие позиции в мире. Это стало возможным во многом благодаря тому, что он стал легко внедряемым и получил широкое распространение. При это не стоит считать, что сегодня используется такая же кодировка «Юникод», что и 25 лет назад. Сегодня используется версия 5.x.x. Число кодируемых символов возросло до 231. С момента возникновения до появления версии 2.0.0 кодировка «Юникод» увеличила число входящих в нее символов практически в два раза. В последующие годы такой рост возможностей продолжился. К моменту появления версии 4.0.0 возникла необходимость увеличения самого стандарта. В результате кодировка «Юникод» обрела вид, в котором мы ее знаем сегодня.

Что же еще полезного есть в «Юникод»? Кроме огромного, постоянно пополняющегося количества символов, кодировка «Юникод» имеет одну довольно полезную особенность. Это нормализация. Кодировка не тратит ресурсы компьютера на регулярную проверку одного и того же символа, который в разных алфавитах может иметь похожее написание. Для этой цели используется специальный алгоритм, который дает возможность вынести схожие символы отдельно графой и обращаться к ним, а не проверять каждый раз всю информацию. Всего разработано и внедрено четыре таких алгоритма. Преобразование в каждом из них осуществляется по определенному принципу, отличающемуся от других.

HTML Unicode UTF-8

0003 0003 9 0016 ✊ EN EN NIB 1000173 3 CENTER ТЕНЕННЫЙ ЛАТИН. 10015 DAV ✢ ✭ 9001 6 ЧЕРНАЯ ЗВЕЗДА, ОБЪЯВЛЕННАЯ
Char декабрь шестнадцатеричный Организация Имя
9985 2701 НОЖНИЦЫ ВЕРХНЕГО ЛЕЗВИЯ
9986 2702 ЧЕРНЫЕ НОЖНИЦЫ
9987 270 НОЖНИЦЫ С ЛЕЗВИЕМ
9988 2704 БЕЛЫЕ НОЖНИЦЫ
9989 2705 БЕЛЫЙ ТЯЖЕЛЫЙ ЗНАК
9699 27017
16017 900 ЗНАК РАСПОЛОЖЕНИЯ ТЕЛЕФОНА
9991 2707 ЛЕНТА ПРИВОДА
9992 2708 САМОЛЕТ
КОНВЕРТ
9994 270A ПОДЪЕМ КУЛАКА
9995 270B ПОДЪЕМ РУКА
9996 270C 9996 270C
9997 270D РУЧКА ДЛЯ ПИСЬМА
9998 270E НИЖНИЙ ПРАВЫЙ КАРАНДАШ
9999 270F
10000 2710 ВЕРХНИЙ ПРАВЫЙ КАРАНДАШ
10001 2711 БЕЛЫЙ NIB
10002 2712
10003 2713 9 0017 КОНТРОЛЬНАЯ МЕТКА
10004 2714 ТЯЖЕЛАЯ КОНТРОЛЬНАЯ МАРКА
10005 2715 МУЛЬТИПЛИКАЦИЯ X
2716 ТЯЖЕЛЫЙ МУЛЬТИПЛИКАЦИЯ X
10007 2717 ШАРИК X
10008 2718 10009 2719 ВЫДЕЛЕННЫЙ ГРЕЧЕСКИЙ КРЕСТ
10010 271A HEAVY GREEK CROSS
10011 271B
10012 271C КРЕСТ С ТЯЖЕЛЫМ ОТКРЫТЫМ ЦЕНТРОМ
10013 271D ЛАТИНОВЫЙ КРЕСТ
10014 271E ТЕНЁННЫЙ ЛАТИНСКИЙ 271F ВЫДЕЛЕННЫЙ ЛАТИНСКИЙ КРЕСТ
10016 2720 МАЛЬТЕССКИЙ КРЕСТ
10017 10018 2722 ASTERISK с ЧЕТЫРЕМЯ СПИЦАМИ С ПЛАСТИНАМИ
10019 2723 ЧЕТЫРЕХ ПЛАСТИКОВЫМИ АСТЕРИКАМИ
1002017
1002017 ТЯЖЕЛЫЙ АСТЕРИСК С ЧЕТЫРЕМЯ СПИЦАМИ
10021 2725 FOUR CLUB-SPOKED ASTERISK
10022 2726 ЧЕРНАЯ ЧЕТЫРЕТОЧНАЯ ЗВЕЗДА
10027 БЕЛАЯ ЧЕТЫРЕ ТОЧКА ЗВЕЗДА
10024 2728 ИСКРЕНИЯ
10025 2729 НАПРЯЖЕНИЕ БЕЛАЯ ЗВЕЗДА 10014

7

272A КРУГЛЫЙ БЕЛЫЙ ЗВЕЗД
10027 272B ОТКРЫТЫЙ ЦЕНТР ЧЕРНАЯ ЗВЕЗДА
10028 272C БЕЛЫЙ ЧЕРНЫЙ ЦЕНТРАЛЬНЫЙ 10029 272D
10030 272E ВЫДЕЛЕННАЯ ЧЕРНАЯ ЗВЕЗДА
10031 272F ШИНА 14 903 2730 ТЕНЕННАЯ БЕЛАЯ ЗВЕЗДА
10033 2731 ТЯЖЕЛЫЙ ASTERISK
10034 2732
0 10035 ЗВЕЗДА ШТЫРЬ ЗВЕЗДА 1003 3 TEARDIS 9 0016 273E БЕЛЫЙ ❁ ОТРИЦАТЕЛЬНЫЙ КВАДРАТНЫЙ КРЕСТ 90 003

73

ТЯЖЕЛАЯ ЗАПЯТАЯ ЗНАК ❣

7

ОТКРЫТЫЙ ЦЕНТР ASTERISK ASTERISK
2733 Восьмиконечная ASTERISK
10036 2734 ВОСЕМЕРНАЯ ЗВЕЗДА ЧЕРНАЯ ЗВЕЗДА
10037 2735
10038 2736 ШЕСТИОЧНАЯ ЧЕРНАЯ ЗВЕЗДА
10039 2737 ВОСЕМЬ ТОЧЕЧНАЯ ПРЯМОЛИНЕЙНАЯ ЧЕРНАЯ ЗВЕЗДА
10040 2738 EINE RIGHT
10041 2739 ДВЕНАДЦАТЬ ТОЧЕЧНАЯ ЧЕРНАЯ ЗВЕЗДА
10042 273A ШЕСТНАДЦАТАЯ ЗНАЧИТЕЛЬНАЯ ASTERISK
TEARDROP-SPOKED ASTERISK
10044 273C OPEN CENTER TEARDROP-SPOKED ASTERISK
10045 27317D
10046 ШЕСТЬ ЛЕПЕСТОЧНЫХ ЧЕРНО-БЕЛЫХ ФЛОРЕТ
10047 273F ЧЕРНАЯ ФЛОРЕТКА
10048 2740
10049 2741 ВОСЬМАЯ ЛЕПЕЗДОЧНАЯ ОБНОВЛЕННАЯ ЧЕРНАЯ ФЛОРЕТКА
10050 2742 ОБРАТНЫЙ ОТКРЫТЫЙ ЦЕНТР ВОСЕМЬ ТОЧЕЧНАЯ ЗВЕЗДА
HEAVY TEARDROP-СПИЦЕВОЕ КОЛЕСО ASTERISK
10052 2744 SNOWFLAKE
10053 2745 TIGHT SNOWFLAKE TIGHT 2746 HEAVY CHEVRON SNOWFLAKE
10055 2747 SPARKLE
10056 2748 HEAVY SPARKLE 10014 ASTERISK с баллонными спицами
10058 274A ВОСЕМЬ ЗВОНОЧНЫЙ ВИНТ ASTERISK
10059 HEROPELLE ESPELLE
10060 274C КРЕСТОВАЯ МАРКА
10061 274D ЗАТЕНЕННЫЙ БЕЛЫЙ КРУГ
1006217
10063 274F НИЖНЯЯ ПРАВАЯ КАПЕЛЬНАЯ ЗАТЕНКА БЕЛАЯ ПЛОЩАДЬ
10064 2750 ВЕРХНЯЯ ПРАВАЯ ЗАТЕНКА 10014 КВАДРАТ 10014 2751 БЕЛАЯ ПЛОЩАДЬ, ЗАТЕНЕННАЯ НИЖНЯЯ ПРАВА
10066 2752 БЕЛАЯ ПЛОЩАДЬ ВЕРХНЯЯ ПРАВАЯ ЗАТЕТКА
10067 2753 ОРНАМЕНТ
10068 2754 БЕЛЫЙ ВОПРОСНИТЕЛЬНЫЙ ЗНАК ОРНАМЕНТ
10069 2755 БЕЛЫЙ ВОПРОСИТЕЛЬНЫЙ ЗНАК ОРНАМЕНТ
ЧЕРНЫЙ АЛМАЗ МИНУС БЕЛЫЙ X
10071 2757 СИМВОЛ ТЯЖЕЛЫЙ восклицательный знак
10072 2758 СВЕТЛЫЙ ВЕРТИКАЛЬНАЯ ШИНА
1717 27 СРЕДНЯЯ ВЕРТИКАЛЬНАЯ ШИНА
10074 275A ТЯЖЕЛАЯ ВЕРТИКАЛЬНАЯ ШИНА
10075 275B ТЯЖЕЛАЯ ОДНОЧЕТВЕРТАЯ ПОВОРОТНАЯ 10076 275C ТЯЖЕЛАЯ ОДНА ЗАПЯТАЯ ЦИТАТНЫЙ МАРК ОРНАМЕНТ
10077 275D ТЯЖЕЛАЯ ДВОЙНАЯ ЗАПЯТАЯ ЗАПЯТАЯ ЦИТАТОВАЯ МАРКА 10078 ❞17 9005 10078 ❞17 9005E ТЯЖЕЛЫЙ ДВОЙНОЙ COMM ЦИАТОВАЯ МАРКА ОРНАМЕНТ
10079 275F ТЯЖЕЛЫЙ НИЗКИЙ ОДИН ЗАПЯТАЯ ЦИТАТА МАРКА ОРНАМЕНТ
10080 2760 ТЯЖЕЛАЯ ЗАПЯТАЯ ЗНАЧКА
10081 2761 ИЗОГНУТЫЙ СТВОЛ ПАРАГРАФ ЗНАКА ОРНАМЕНТ
10082 2762 ТЯЖЕЛЫЙ восклицательный знак ORNAMENT
ТЯЖЕЛОЕ СЕРДЦЕ Восклицательный знак ОРНАМЕНТ
10084 2764 ТЯЖЕЛОЕ ЧЕРНОЕ СЕРДЦЕ
10085 2765
0 ROTATED HEAVYE ГОРЯЧИЕ СЕРДЕЧНОЕ СЕРДЕЧНОЕ КОЛЛЕКЦИЯ ЛЕВАЯ ЧАСТЬ СВЕТЛЫЙ ЛЕВЫЙ КРОНШТЕЙН ОБОЛОЧКИ ЧЕРЕПАХИ ОРНАМЕНТ ЦИФРОВОЙ ЦИФРОВОЙ ЦИФР. 9 0016 ❽ DIFCLIGIT DIGIT CIRCLED FURCLED 9-SERIF 9-SERIF EN 9000 9000 DIGIT

7

RAL 15 917 27AA БЕЛЫЙ 17 10159 90 003 10 ПЕРВАЯ 10169 1017

7

10086 2766 ЦВЕТОЧНОЕ СЕРДЦЕ
10087 2767 ПОВЕРНУТОЕ ЦВЕТОЧНОЕ СЕРДЦЕ ПУЛЯ
10088 2768 СРЕДА ЛЕВЫЙ СРЕДА 10089 2769 СРЕДНИЙ ПРАВЫЙ ПЕРЕКРЕСТОК УКРАШЕНИЯ
10090 276A СРЕДНИЙ ПЛОСКИЙ ЛЕВЫЙ ЗАКРЫТЫЙ УКРАШЕНИЕ
617
617 ПРАВЫЙ УГЛОВОЙ КРОНШТЕЙН
10092 276C СРЕДНИЙ ЛЕВЫЙ УГОЛ УГЛОВОЙ КРОНШТЕЙН ОРНАМЕНТ
10093 276 НАПРАВЛЯЮЩИЙ ПЕРЕКЛЮЧАТЕЛЬ СРЕДНИЙ УГОЛ 10094 276E ТЯЖЕЛЫЙ УГОЛ ЛЕВОГО УГЛА ЦИТАТА МАРКА ОРНАМЕНТ
10095 276F ТЯЖЕЛЫЙ УГОЛ ВПРАВО УГОЛ ЦИФРОВОЙ ЗНАК 17 ОЗНАЧЕНИЕ 2770 УГЛОВОЙ КРОНШТЕЙН БОЛЬШОГО НАПРАВЛЕНИЯ ВЛЕВО УГЛОВОЙ КРОНШТЕЙН
10097 2771 БОЛЬШОЙ УГЛОВОЙ КРОНШТЕЙН ВПРАВО НАКОНЕЧНИК
10098 17 7217
10099 2773 СВЕТЛЫЙ ПРАВЫЙ КРОНШТЕЙН ЧЕРЕПАХА ОРНАМЕНТ НАКОНЕЧНИКА
10100 2774 10100 2774 СРЕДНИЙ 10101 2775 СРЕДНИЙ ПРАВЫЙ ИЗОГНУТЫЙ КРОНШТЕЙН ОРНАМЕНТ
10102 2776 DINGBAT ОТРИЦАТЕЛЬНЫЙ ЦИФРОВОЙ ЦИФР
10103 NEXT
10104 2778 DINGBAT ОТРИЦАТЕЛЬНАЯ ЦИФРОВАЯ ЦИФРА ТРИ
10105 2779 DINGBAT ОТРИЦАТЕЛЬНАЯ ЦИФРА 277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
10107 277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
DIGIT SEX
10108
10109 277D DINGBAT ОТРИЦАТЕЛЬНАЯ ЦИФРОВАЯ ЦИФРА ВОСЕМЬ
10110 277E DINGBAT ОТРИЦАТЕЛЬНАЯ ЦИФРОВАЯ ЦИФРА DINGBAT ОТРИЦАТЕЛЬНЫЙ КРУГЛЫЙ НОМЕР ДЕСЯТЬ
10112 2780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE
10113 2781 DIFCL ДВА
10114 2782 DINGBAT CIRCLED SANS-SERIF DIGIT THREE
10115 2783 DINGBAT 10116 2784 ДИНГБАТ CI RCLED SANS-SERIF DIGIT FIVE
10117 2785 DINGBAT CIRCLED SANS-SERIF DIGIT SIX
10118 2786 DING
10119 2787 DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
10120 2788 DINGBAT000 CIRCLED14 SANS-SERIF DINGBAT CIRCLED14 SANS-SERIF 10121 2789 DINGBAT CIRCLED SANS-SERIF НОМЕР ДЕСЯТЬ
10122 278A DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
➌ 90 017 10124 278C DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
10125 278D DINGBAT NEGATIVE CIRCLED14 SANS-SERIF SANS-SERIF 278E DINGBAT NEGATIVE CIRCLED DIGIT DIGIT FIVE
10127 278F DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
10129 2791 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
NEG NEG ЦИФРОВЫЕ ДЕВЯТЬ ЦИФРОВ SANS-SERIF
10131 2793 DINGBAT NEGATIVE CIRCLED SANS-SERIF НОМЕР ДЕСЯТЬ
10132 2794 ТЯЖЕЛЫЙ ШИРОКОГЛОВОЙ ПРЯМОЙ ARROW
ЗНАК ТЯЖЕЛОГО ПЛЮСА
10134 2796 ЗНАК ТЯЖЕЛЫЙ МИНУС
10135 2797 ЗНАК ТЯЖЕЛОГО ДИВИЗИОНА
2798 ТЯЖЕЛАЯ ЮГО-ВОСТОЧНАЯ СТРЕЛКА
10137 2799 ТЯЖЕЛАЯ СТРЕЛКА ВПРАВО
10138 279A СЕВЕРНАЯ СТРЕЛКА 279A БОЛЬШАЯ ДВИГА 10139 279B СТРЕЛКА ВПРАВОЙ ТОЧКИ ПРОИЗВОДСТВА
10140 279C ТЯЖЕЛАЯ СТРЕЛКА С КРУГЛЫМ НАКОНЕЧНИКОМ ВПРАВО
10141 279DADRODROW HEADRO 9 10142 279E ТРЕУГОЛЬНАЯ СТРЕЛКА ВПРАВО С ТРЕУГОЛЬНИКОМ
10143 279F ТРЕУГОЛЬНИК С ТРЕУГОЛЬНЫМ НАПРАВЛЕНИЕМ 10 0004 14 ТЯЖЕЛЫЕ ТРЕУГОЛЬНЫЕ СТРЕЛКИ ВПРАВО С ТРЕУГОЛЬНИКОМ
10145 27A1 ЧЕРНАЯ СТРЕЛКА ВПРАВО
10146 27A2 ВЕРХНИЙ DOWN 27A2 СТРЕЛКА
10 147 27A3 ТРЕХМЕРИТЕЛЬНАЯ СНИЖНАЯ СТРЕЛКА ВПРАВО
10148 27A4 ЧЕРНАЯ СТРЕЛКА ВПРАВО ЧЕРНАЯ ИЗОГНУТАЯ СТРЕЛКА ВНИЗ И ВПРАВО
10150 27A6 ТЯЖЕЛЫЙ ЧЕРНАЯ ИЗОГНУТАЯ ВВЕРХ И ВПРАВО СТРЕЛКА
10157
10151 9157 10152 27A8 ТЯЖЕЛЫЕ Вогнутые ЧЕРНАЯ СТРЕЛКА ВПРАВО
10153 27A9 ПРАВОЙ ОТТЕНОК 9003 ПРАВОЙ СТРЕЛКИ
ЛЕВЫЙ W БЕЛАЯ СТРЕЛКА ВПРАВО
10155 27AB НАКЛОН НАЗАД ТЕНЕННАЯ БЕЛАЯ СТРЕЛКА ВПРАВО
10156 27AC БЕЛАЯ ПРАВЫЙ 27AC ПЕРЕДНИЙ 10157 27AD ТЯЖЕЛЫЙ НИЖНИЙ ЗАТЕМЕННЫЙ ВПРАВО БЕЛАЯ СТРЕЛКА ВПРАВО
10158 27AE ТЯЖЕЛЫЙ ВЕРХНИЙ ПРАВЫЙ ЗАТЕМНЕНИЕ БЕЛАЯ ПРЯМО 27AF ВЫРЕЗАННЫЙ НИЖНИЙ ВПРАВО ЗАЗЕМЛЕННАЯ БЕЛАЯ СТРЕЛКА ВПРАВО
10160 27B0 ИЗОЛИРУЮЩАЯ ПЕТЛЯ
1016 ВЕРХНИЙ ЗАТЕМНЕННАЯ ВПРАВО БЕЛАЯ СТРЕЛКА ВПРАВО
10162 27B2 ТЯЖЕЛАЯ БЕЛАЯ ЦЕПНАЯ СТРЕЛКА ВПРАВО
10163 27B3 БЕЛАЯ ПЕРЬЯ4000 ПРАВАЯ СТРЕЛКА СТРЕЛА ЮГО-ВОСТОКА С ЧЕРНЫМИ ПЕРЬЯМИ
10165 27B5 СТРЕЛА ПРАВАЯ ПЕРЬЯННАЯ С ЧЕРНЫМИ ПЕРЬЯМИ
10166 27BAST БОЛЬШАЯ ПЕРЕДАЧА 27BAST
10167 27B7 ТЯЖЕЛАЯ ЧЕРНАЯ СТРЕЛКА ЮГО-ВОСТОКА С ЧЕРНЫМИ ПЕРЬЯМИ
10168 27B8 ТЯЖЕЛЫЕ ЧЕРНЫЕ ПЕРЫЕ 27B9 ТЯЖЕЛЫЙ ЧЕРНЫЙ ПЕР ЭРЕД СЕВЕРО-ВОСТОЧНАЯ СТРЕЛКА
10170 27BA СТРЕЛКА ВПРАВО С ПЕРЕКРЕПЛЕНИЕМ С ПОЗВОНОЧНИКОМ ВПРАВО
10171 27BB ПРАВЫЙ СТОРОННИК 10172 27BC СТРЕЛКА ВПРАВО С КЛИНОВЫМ ХВОСТОМ
10173 27BD ТЯЖЕЛЫЙ КЛИН ХВОСТ ПРАВЫЙ СТРЕЛКА
ОТКРЫТАЯ СТРЕЛКА ВПРАВО
10175 27BF ДВОЙНОЙ ИЗОЛИРУЮЩИЙ ПЕТЕЛЬ
.

HTML Юникод UTF-8


Диапазон: Десятичный 8352-8399. Шестигранник 20A0-20CF.

Если вы хотите, чтобы любой из этих символов отображался в HTML, вы можете использовать объект HTML, указанный в таблице ниже.

Если символ не имеет сущности HTML, можно использовать десятичную (десятичную) или шестнадцатеричную (шестнадцатеричную) ссылку.

Пример

Я покажу & евро;


Я покажу & # 8364;


Я покажу & # x20AC;

Будет отображаться как:

Я покажу

евро Я покажу

евро

Я покажу евро

Попробуй сам »

Старые браузеры могут не поддерживать все объекты HTML5 из ​​приведенной ниже таблицы.

ЗНАК CRUZEIRO € ЗНАК МАРКА
Char декабрь шестигранник Организация Имя
8352 20A0 ЗНАК ЕВРО-ВАЛЮТЫ
8353 20A1 КОЛОННЫЙ ЗНАК
8354
8355 20A3 ФРАНЦУЗСКИЙ ЗНАК
8356 20A4 LIRA SIGN MILL SIGN
8358 20A6 NAIRA SIGN
8359 20A7 PESETA SIGN
ЗНАК РУПИ
8361 20A9 WON SIGN
8362 20AA НОВЫЙ ЗНАК SHEQEL
8363 20AB DONG SIGN 8364 20AC и евро; ЗНАК ЕВРО
8365 20AD KIP SIGN
8366 20AE TUGRIK SIGN
20AD ЗНАК ДРАХМА
8368 20B0 НЕМЕЦКИЙ СИМВОЛ ПЕННИ
8369 20B1 PESO SIGN
20B2 ЗНАК GUARANI
8371 20B3 АВСТРАЛЬНЫЙ ЗНАК
8372 20B4 HRYVNIA HRYVNIA 20B5 ЗНАК CEDI
8374 20B6 LIVRE TOURNOIS SIGN
8375 20B7 SPESMILO SIGN
8376 EN 20BGE TIGN
8377 20B9 ЗНАК ИНДИЙСКОЙ РУПЫ
8378 20BA ТУРЕЦКАЯ ЛИРА ЗНАК
8379 8379
8380 20BC ЗНАК МАНАТ
8381 20BD РУБЛЬНЫЙ ЗНАК
8382 20BE ЗНАК ЛАРИ
8383 20BF БИТКОИННЫЙ ЗНАК

.

HTML Юникод UTF-8


Диапазон: десятичный 0–127. Шестнадцатеричный 0000-007F.

Набор символов такой же, как и исходный набор символов ASCII.

Если вы хотите, чтобы специальные символы отображались в HTML, вы можете использовать HTML сущность найдена в таблице ниже.

Если символ не имеет сущности HTML, вы можете использовать десятичную (десятичную) или шестнадцатеричная (шестнадцатеричная) ссылка.

Пример

Меня зовут Джонни «Банг» Джонсон

Меня зовут Джонни & # 34; Банг & # 34; Джонсон

Меня зовут Джонни & # x0022; Bang & # x0022; Джонсон

Будет отображаться как:

Меня зовут Джонни «Банг» Джонсон

Меня зовут Джонни «Банг» Джонсон

Меня зовут Джонни «Банг» Джонсон

Попробуй сам »

Управляющие символы

Управляющие символы ASCII (диапазон 0–31 плюс 127) были разработаны для управления аппаратными устройствами.

Здесь перечислены

управляющих символов.


UTF-8 Базовая латиница

900 4 900 71 900 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА J 0053 ПРОПИСНАЯ \ 900 w
Char декабрь Шестигранник Организация Имя
32 0020 ПРОСТРАНСТВО
! 33 0021 Восклицательный знак
« 34 0022 & quot; ЦЕННЫЙ ЗНАК
# 35 0023 НОМЕРНЫЙ ЗНАК
$ 36 0024 ЗНАК ДОЛЛАРА
% 37 0025 ПРОЦЕНТНЫЙ ЗНАК
и 38 0026 & amp; AMPERS
39 0027 АПОСТРОФ
( 40 0028 ЛЕВАЯ СКОБКА
ПРАВАЯ ЧАСТЬ 41 0029
* 42 002A ASTERISK
+ 43 002B PLUS SIGN
, 44 002C COMMA
45 002D ДЕФИС-МИНУС
. 46 002E ПОЛНАЯ ОСТАНОВКА
/ 47 002F SOLIDUS
0 48 0030 DIGIT ZERO
49 0031 ЦИФРОВОЙ ОДИН
2 50 0032 ДВУМЯ ЦИФРА
3 51 0033 ЦИФРА ТРИ
52 0034 ЦИФРА ЧЕТЫРЕ
5 53 0035 ПЯТЬ ЦИФРОВ
6 54 0036 ШЕСТЬ ЦИФРОВ
7 55 0037 СЕМЬ ЦИФРОВ
8 56 0038 ВОСЬМАЯ ЦИФРА
9 57 0039 ДЕВЯТЬ ЦИФРА
: 58 003A COLON
; 59 003B SEMICOLON
< 60 003C & lt; МЕНЬШЕ ЗНАКА
= 61 003D ЗНАК РАВНО
> 62 003E & gt; БОЛЬШЕ, ЧЕМ ЗНАК
? 63 003F ВОПРОСНЫЙ ЗНАК
@ 64 0040 КОММЕРЧЕСКИЙ АППАРАТ
A 65 0041 ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА
B 66 0042 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА B
C 67 0043 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА C
D 68 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА D
E 69 0045 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА E
F 70 0046 ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА F G
0047 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА G
H 72 0048 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА H
I 73 0049 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА I
J 74 004A
K 75 004B ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА K
L 76 004C ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА L
004D ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА M
N 78 004E ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА N
O 79 004F ПРОФИЛЬНАЯ ЗАПИСЬ
P 80 0050 ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА ER P
Q 81 0051 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА Q
R 82 0052 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА R
S 83 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА S
T 84 0054 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА T
U 85 0055 ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА
V 86 0056 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА V
W 87 0057 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА W
X 88 0058 ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА X
Y 89 0059 ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА Y
Z 90 005A ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА Z
[ 91 005B ЛЕВЫЙ КВАДРАТНЫЙ КРОНШТЕЙН
005C REVERSE SOLIDUS
] 93 005D ПРАВЫЙ КВАДРАТНЫЙ КРОНШТЕЙН
^ 94 005E CIRCUMFLEX CIRCUMFLEX 95 005F НИЗКАЯ ЛИНИЯ
` 96 0060 СЕРЬЕЗНЫЙ АКЦЕНТ
a 97 0061 LATIN СТРОЧНАЯ БУКВА
b 98 0062 LATIN SMA LL БУКВА B
c 99 0063 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА C
d 100 0064 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА D
e 101 0065 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА E
f 102 0066 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА F
g 103 0067 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА 900 G 900
h 104 0068 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА H
i 105 0069 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА I
j 106 006A 900 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА J
k 107 006B СТРОЧНАЯ ЛАТИНСКАЯ БУКВА K
l 108 006C СТРОЧНАЯ ЛАТИНСКАЯ БУКВА L
m 109 006D СТРОЧНАЯ ЛАТИНСКАЯ БУКВА M
n 110 006E СТРОЧНАЯ ЛАТИНСКАЯ БУКВА N
o 111 006F СТРОЧНАЯ ЛАТИНСКАЯ БУКВА O
p 112 0070 ЛАТИНСКАЯ СТРОЧНАЯ ПАНЕЛЬ
q 113 0071 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Q
r 114 0072 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА R
s 115 0073 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА S
t 116 0074 9004 8 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА T
u 117 0075 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА U
v 118 0076 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА V
119 0077 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА W
x 120 0078 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА X
y 121 0079 LAT СТРОЧНАЯ БУКВА Y
z 122 007A СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Z
{ 123 007B КРОНШТЕЙН ЛЕВЫЙ ИЗОГНУТЫЙ
| 124 007C ВЕРТИКАЛЬНАЯ ЛИНИЯ
} 125 007D ПРАВЫЙ КРОНШТЕЙН ИЗГОТОВЛЕНИЯ
~ 126 007E


C0 Органы управления

Управляющие символы изначально были предназначены для управления аппаратные устройства.

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

Char декабрь Шестигранник Описание
NUL 0 0000 нулевой символ
SOH 1 0001 начало заголовка
STX 2 0002 начало текста
ETX 3 0003 конец текста
EOT 4 0004 конец передачи
ENQ 5 0005 запрос
ACK 6 0006 подтвердить
БЕЛ 7 0007 звонок (кольцо)
BS 8 0008 backspace
HT 9 0009 горизонтальный язычок
LF 10 000A перевод строки
VT 11 000B вертикальный язычок
FF 12 000C подача формы
CR 13 000D возврат каретки
СО 14 000E сдвиг
SI 15 000F смена
DLE 16 0010 выход канала передачи данных
DC1 17 0011 Устройство управления 1
DC2 18 0012 Устройство управления 2
DC3 19 0013 Устройство управления 3
DC4 20 0014 Устройство управления 4
НАК 21 0015 отрицательное подтверждение
SYN 22 0016 синхронизировать
ЭТБ 23 0017 блок передачи конца
CAN 24 0018 отменить
EM 25 0019 конец среднего
ПОД 26 001A заменить
ESC 27 001B побег
ФС 28 001C разделитель файлов
GS 29 001D разделитель групп
RS 30 001E разделитель записей
США 31 001F блок сепаратора
DEL 127 007F удалить (рубут)

.

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

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