UTF-8, UTF-16 и UTF-32 - PullRequest
       226

UTF-8, UTF-16 и UTF-32

436 голосов
/ 30 января 2009

В чем различия между UTF-8, UTF-16 и UTF-32?

Я понимаю, что все они будут хранить Unicode, и что каждый использует различное количество байтов для представления символа. Есть ли преимущество выбора одного над другим?

Ответы [ 12 ]

2 голосов
/ 30 января 2009

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

Тем не менее, шрифты, кодировка и многое другое очень сложно (излишне?), Поэтому для более подробной информации необходима большая ссылка:

http://www.cs.tut.fi/~jkorpela/chars.html#ascii

Не ожидайте, что вы все это поймете, но если вы не хотите, чтобы у вас возникали проблемы позже, стоит изучить как можно больше, как можно раньше (или просто попросить кого-то другого разобраться для вас) ,

Paul.

0 голосов
/ 21 мая 2015

Короче говоря, единственной причиной использования UTF-16 или UTF-32 является поддержка неанглийских и древних скриптов соответственно.

Мне было интересно, почему кто-то решил использовать кодировку не-UTF-8, когда она, очевидно, более эффективна для веб / программирования.

Распространенное заблуждение - число с суффиксом НЕ является показателем его возможностей. Все они поддерживают полный Unicode, только то, что UTF-8 может обрабатывать ASCII с одним байтом, поэтому он более эффективен / менее подвержен влиянию ЦП и через Интернет.

Хорошее чтение: http://www.personal.psu.edu/ejp10/blogs/gotunicode/2007/10/which_utf_do_i_use.html и http://utf8everywhere.org

...