Каково основание для Unicode и почему потребность в UTF-8 или UTF-16? Я исследовал это на Google и искал здесь также, но это не ясно мне.
В VSS при выполнении сравнения файлов иногда существует сообщение, говоря, что эти два файла имеют отличающийся UTF's. Почему это имело бы место?
Объясните простыми словами.
Первоначально Unicode предназначался для 16-битной кодировки фиксированной ширины (UCS-2). Ранние последователи Unicode, такие как Java и Windows NT, построили свои библиотеки на основе 16-битных строк.
Позже область применения Unicode была расширена за счет включения исторических символов, для чего потребовалось бы более 65 536 кодовых точек, поддерживаемых 16-битной кодировкой. Чтобы обеспечить представление дополнительных символов на платформах, которые использовали UCS-2, была введена кодировка UTF-16. Он использует «суррогатные пары» для представления символов на дополнительных планах.
Между тем, многие старые программы и сетевые протоколы использовали 8-битные строки. UTF-8 был создан таким образом, чтобы эти системы могли поддерживать Unicode без использования широких символов. Он обратно совместим с 7-битным ASCII.