169
правок
AE (обсуждение | вклад) (Unicode, основная статья) |
AE (обсуждение | вклад) Нет описания правки Метка: визуальный редактор отключён |
||
Строка 46: | Строка 46: | ||
* '''Международное сообщество''': Изучая Юникод, вы становитесь частью глобального сообщества специалистов, исследователей и энтузиастов, которые заботятся о сохранении и развитии многообразия языков и культур мира | * '''Международное сообщество''': Изучая Юникод, вы становитесь частью глобального сообщества специалистов, исследователей и энтузиастов, которые заботятся о сохранении и развитии многообразия языков и культур мира | ||
=== | === Зачем нужны кодировки UTF вместо UCS? === | ||
Уже на примере слона 🐘 с номером 128024 видно что он очень большой и не влезает в 2 байта, нужно минимум три: | Уже на примере слона 🐘 с номером 128024 видно что он очень большой и не влезает в 2 байта, нужно минимум три: | ||
Строка 58: | Строка 58: | ||
=== Как работает UTF-8? === | === Как работает UTF-8? === | ||
Самой эффективной на практике оказалась кодировка '''UTF-8''', | Самой эффективной на практике оказалась кодировка '''UTF-8''', в ней часто используемые латинские буквы и цифры занимают всего 1 байт. Это не только вопрос экономии места — текст в однобайтовой кодировке стандарта ASCII будет правильно прочитан с использованием UTF-8. Поэтому UTF-8 стал самой популярной кодировкой в интернете и веб-приложениях. | ||
Но если каждая буква имеет разную длину в байтах как компьютер в потоке единиц и нулей понимает где заканчивается предыдущая буква и начинается следующая? | Но если каждая буква имеет '''разную длину''' в байтах как компьютер в потоке единиц и нулей понимает где заканчивается предыдущая буква и начинается следующая? | ||
Когда компьютер читает последовательность байтов, он смотрит на первые биты и определяет длину символа: | Когда компьютер читает последовательность байтов, он смотрит сначала на первые биты и определяет итоговую длину символа: | ||
* <code>0</code> = длина будет 1 байт | * <code>0</code> = длина будет 1 байт | ||
Строка 69: | Строка 69: | ||
* <code>11110</code> = длина будет 4 байта | * <code>11110</code> = длина будет 4 байта | ||
Дальше он читает | Дальше он читает дальше дополнительные байты в нужном количестве и выкидывает из них первые биты <code>10</code> (они нужны для сверки), все оставшиеся биты объединяет. | ||
Итого: | Итого: | ||
Строка 83: | Строка 83: | ||
<code>[00000001] [11110100] [00011000]</code> = <code>1 F4 18</code> = 128024 | <code>[00000001] [11110100] [00011000]</code> = <code>1 F4 18</code> = 128024 | ||
что является | что является 128024-й символом Юникода U+1F418 и должно отображаться на экране как эмодзи слона | ||
🐘 | |||
=== Устали? Давайте поиграем === | |||
Примеры некоторых Юникод символов для разных настольных игр. Это не картинки, а текст увеличенного размера: | |||
<span style="font-size:100px">🁣🁩🁬</span><span style="font-size:100px">♚♛♘</span><span style="font-size:100px">🂠🂭🂸</span><span style="font-size:100px">⚀⚂⚅</span><span style="font-size:85px">🀁🀆🀇</span> | |||
=== Недостатки === | |||
Недостатки | |||
Перечислить | Перечислить |