В чем разница между UTF-32 и UCS-4?

в чем разница между UTF-32 и UCS-4 ? Разве UTF-32 не должен быть кодировкой фиксированной ширины ?

2 ответов


UTF-32 началось как подмножество UCS-4. Теперь он идентичен, за исключением того, что стандарт UTF-32 имеет дополнительную семантику Unicode. Подробнее о Википедия:

оригинал стандарт ISO 10646 определяет 31-разрядную форму кодирования, называемую UCS-4, в котором каждый закодированный символ в универсальном наборе символов (UCS) представлен 32-разрядным дружественным значением кода в кодовом пространстве целых чисел от 0 до шестнадцатеричных 7FFFFFFF.

поскольку на самом деле используется только 17 плоскостей, все текущие кодовые точки между 0 и 0x10FFFF. UTF-32 является подмножеством UCS-4 что использует только этот диапазон. Начиная с документа о принципах и процедурах JTC1 / SC2 / WG2 заявляет, что все будущие назначения символов будут ограниченные БМП или первыми 14 дополнительными самолетами, UTF-32 сможет представлять все символы Unicode. Соответственно, UCS-4 и UTF-32 теперь идентичны за исключением того, что стандарт UTF-32 имеет дополнительная семантика Unicode.

однако я не совсем уверен, что additional Unicode semantics средства. Возможно, кто-то сможет дать лучший ответ.


на Unicode Стандартная Версия 8.0, Приложение C гласит:

UCS-4 означает " универсальный набор символов, закодированный в 4 октетах."Это теперь рассматривается просто как синоним UTF-32, и считается каноническая форма для представления символов в 10646.