Разное

Юникод таблица кодировки: ✔️ ❤️ ★ 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) приводится ниже:

0123456789ABCDEF
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 и т.д.).

0123456789ABCDEF
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:

0123456789ABCDEF
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») после ударной гласной (например, ы́ э́ ю́ я́).

0123456789ABCDEF
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
8376EN 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
f102 0066 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА F
g 103 0067 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА 900 G 900

h104 0068 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА H
i 105 0069 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА I
j 106 006A 900

СТРОЧНАЯ ЛАТИНСКАЯ БУКВА J
k 107 006B СТРОЧНАЯ ЛАТИНСКАЯ БУКВА K
l108 006C СТРОЧНАЯ ЛАТИНСКАЯ БУКВА L
m 109 006D СТРОЧНАЯ ЛАТИНСКАЯ БУКВА M
n 110 006E СТРОЧНАЯ ЛАТИНСКАЯ БУКВА N
o 111 006F СТРОЧНАЯ ЛАТИНСКАЯ БУКВА O
p 112 0070 ЛАТИНСКАЯ СТРОЧНАЯ ПАНЕЛЬ
q 113 0071 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Q
r114 0072 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА R
s 115 0073 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА S
t 116 0074 9004 8

СТРОЧНАЯ ЛАТИНСКАЯ БУКВА T
u 117 0075 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА U
v 118 0076 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА V

119 0077 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА W
x120 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 не будет опубликован. Обязательные поля помечены *