Что такое Unicode, UTF-8, UTF-16?

Каково основание для Unicode и почему потребность в UTF-8 или UTF-16? Я исследовал это на Google и искал здесь также, но это не ясно мне.

В VSS при выполнении сравнения файлов иногда существует сообщение, говоря, что эти два файла имеют отличающийся UTF's. Почему это имело бы место?

Объясните простыми словами.

367
задан ulrichb 11 February 2010 в 05:40
поделиться

1 ответ

Первоначально Unicode предназначался для 16-битной кодировки фиксированной ширины (UCS-2). Ранние последователи Unicode, такие как Java и Windows NT, построили свои библиотеки на основе 16-битных строк.

Позже область применения Unicode была расширена за счет включения исторических символов, для чего потребовалось бы более 65 536 кодовых точек, поддерживаемых 16-битной кодировкой. Чтобы обеспечить представление дополнительных символов на платформах, которые использовали UCS-2, была введена кодировка UTF-16. Он использует «суррогатные пары» для представления символов на дополнительных планах.

Между тем, многие старые программы и сетевые протоколы использовали 8-битные строки. UTF-8 был создан таким образом, чтобы эти системы могли поддерживать Unicode без использования широких символов. Он обратно совместим с 7-битным ASCII.

18
ответ дан 23 November 2019 в 00:08
поделиться