powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Кодировки (UTF-8 vs UTF-16 vs UTF-32)
11 сообщений из 11, страница 1 из 1
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39568939
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил разобраться с сабжем. Почитал статейки и остались вопросы.

UTF-8 и UTF-16 это кодировки с переменной длинной

UTF-8: если номер в unicode укладывается в диапазон 2^8-1 будет использоваться 1 байт, если укладывается в 2^16-1 - то 2, иначе 4
UTF-16: если номер в unicode укладывается в диапазон 2^16-1 будет использоваться 2 байта
UTF-32: каждый символ кодируется 4-мя байтами

Правильно ли я понимаю, что если в случае UTF-8 кодировки будет хотя бы один символ должен быть закодирован как 2 байта, то все символы будут закодированы как 2 байта?

Как программа читающая файл может понять сколькими символами кодируется каждое слово в UTF-8 ?
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39568949
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerПравильно ли я понимаю, что если в случае UTF-8 кодировки будет хотя бы один символ должен быть закодирован как 2 байта, то все символы будут закодированы как 2 байта?
Нет.

questionerКак программа читающая файл может понять сколькими символами кодируется каждое слово в UTF-8 ?
Ну, вот же наглядная таблица в разделе Description
https://en.wikipedia.org/wiki/UTF-8
В зависимости от бит первого байта читатель данных может узнать сколько байтов ему нужно прочесть чтобы сформировать символ.
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39568953
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerUTF-8 и UTF-16 это кодировки с переменной длиннойЛюбая кодировка юникода - "переменной длины" ибо составные символы.UTF-8: если номер в unicode укладывается в диапазон 2^8-1 будет использоваться 1 байт1-127. 128-255 не используются юникодом ибо куча однобайтовых кодировок.если укладывается в 2^16-1 - то 2два байта - первые 2048 кодовиначе 4или три или четыре.Правильно ли я понимаю, что если в случае UTF-8 кодировки будет хотя бы один символ должен быть закодирован как 2 байта, то все символы будут закодированы как 2 байта?Разумеется, неправильно.
В utf8 каждый код использует ровно столько байт, сколько требуется.

P.S. Вроде, схема кодирования UTF8 во всяких вики - совершенно прозрачная ...
Что там непонятного-то?
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39569297
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczquestionerПравильно ли я понимаю, что если в случае UTF-8 кодировки будет хотя бы один символ должен быть закодирован как 2 байта, то все символы будут закодированы как 2 байта?
Нет.

questionerКак программа читающая файл может понять сколькими символами кодируется каждое слово в UTF-8 ?
Ну, вот же наглядная таблица в разделе Description
https://en.wikipedia.org/wiki/UTF-8
В зависимости от бит первого байта читатель данных может узнать сколько байтов ему нужно прочесть чтобы сформировать символ.


получается, что
если 1 бит, то байт начинается с 0
если 2 - с 110
если 3 - с 1110
если 4 - с 11110

А зачем остальные байты начинаются с 10 ?
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39569348
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39578203
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

а это точно относится к моему вопросу?
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39578204
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://ru.wikipedia.org/wiki/UTF-32#Неиспользование_UTF-32_в_HTML5 Стандарт HTML5 гласит, что «авторы не должны использовать UTF-32, поскольку алгоритмы определения кодировки, описанные в данной спецификации, не отличают его от UTF-16».
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39578205
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39578214
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerа это точно относится к моему вопросу?
А вы точно до конца дочитали?

Self-synchronizing_codein UTF-8, bit patterns 0xxxxxxx and 11xxxxxx are synchronizing words used to mark the beginning of the next valid character
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39581397
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestionerа это точно относится к моему вопросу?
А вы точно до конца дочитали?

Self-synchronizing_codein UTF-8, bit patterns 0xxxxxxx and 11xxxxxx are synchronizing words used to mark the beginning of the next valid character

Так а концептуально это зачем? Чтобы валидировать? На первый взгляд небережно по отношению к байтам, можно же и компактнее было сделать
...
Рейтинг: 0 / 0
Кодировки (UTF-8 vs UTF-16 vs UTF-32)
    #39581404
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Концептуально это позволяет делать быстрый разбор и гарантирует бинарную сортировку кодовых точек при использовании байтовых алгоритмов сортировки.

P.S. Ну ей-богу, всё разжёвано в тыртырнетах - зачем вымучивать из себя вопросы?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Кодировки (UTF-8 vs UTF-16 vs UTF-32)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]