UTF-8 использует и альтернативы - PullRequest
0 голосов
/ 29 ноября 2010

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

UTF-8 используется для i18n?

Ответы [ 4 ]

2 голосов
/ 29 ноября 2010

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

Альтернативой UTF-8 могут быть другие кодировки Unicode, поскольку альтернативы использованию Unicode нет (по крайней мере, для обычных компьютерных систем).

Если вы посмотрите, как указан UTF-8, вы увидите, что всем кодовым точкам до U + 007F потребуется один октет, а кодовым точкам до U + 07FF потребуется два октета, вплоть до U + FFFF три и четыре октета для кодовых точек до U + 10FFFF. Для UTF-16 вам понадобится два октета до U + FFFF (в основном) и четыре октета для значений до U + 10FFFF. Для UTF-32 вам нужно четыре октета для всех точек Unicode.

Другими словами, сценарии, которые находятся под U + 07FF, получат некоторую выгоду от использования UTF-8 по сравнению с UTF-16, в то время как сценарии выше, будут иметь некоторый штраф за размер. Тем не менее, поскольку доменом является веб-дизайн, возможно, стоит отметить, что все управляющие символы находятся в пределах одного октета UTF-8, что делает это менее справедливым для текстов с большим количеством, скажем, разметки HTML и Javascript, по сравнению с сумма фактического «текста».

Скрипты под U + 07FF включают латиницу (кроме некоторых расширений, таких как тональные метки), греческий, кириллицу, иврит и, возможно, некоторые другие. В Википедии есть достаточно хорошее освещение проблем Юникода, а в Консорциуме Юникода вы можете получить еще больше деталей.

1 голос
/ 29 ноября 2010

Поскольку вы запрашиваете рекомендации, я рекомендую вам использовать его при любых обстоятельствах. Все время, то есть для файлов HTML и текстовых ресурсов. Для приложения только на английском языке это ничего не меняет, но когда вам нужно на самом деле его локализовать, преимущество будет иметь UTF-8 (вам не нужно повторно посещать ваш код и менять его; один источник дефектов меньше).

Что касается других кодировок семейства Unicode (например, UTF-16), я бы не рекомендовал использовать их для веб-приложений. Хотя потребление полосы пропускания может быть на самом деле выше, например, для китайских иероглифов (по крайней мере, три байта все время), вы избежите проблем с передачей и интерпретацией браузера (да, я знаю, что в теории все должно работать одинаково, к сожалению, на практике это имеет тенденцию ломаться).

0 голосов
/ 29 ноября 2010

Используйте UTF-8 полностью. Нет оправданий .

0 голосов
/ 29 ноября 2010

используйте utf-8 для латинских языков. utf-16 для любого другого языка.

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