Универсальный набор символов 4 - это 31-битная форма кодировки, определенная исходным стандартом ISO 10646 и в значительной степени замененная на UTF-32. Он может содержать до 2147483648 символов от "0x00000000" до "0x7FFFFFFF". Используйте этот тег, когда вы конкретно имеете дело с UCS-4.

Набор символов Unicode-4 является предшественником кодировки Unicode. Это схема кодирования символов фиксированной длины, в которой каждый символ занимает 32 бита или четыре байта (отсюда и часть "4" в UCS-4).

Бит ведущего знака не используется, оставляя 31 бит, используемый для кодирования каждого из возможных 2147483648 символов, из которых он может быть закодирован. 0x00000000 к 0x7FFFFFFF.

UCS-4 теперь заменен UTF-32, где каждая из 1,114,112 возможных кодовых точек Unicode в 17 плоскостях из 65536 кодовых точек занимает четыре байта, а также только кодовые точки. 0x0000 к 0x10FFFFсчитаются находящимися в пределах допустимого диапазона. Кодировки символов UTF-32 почти полностью идентичны кодировкам, используемым в UCS-4. Таким образом, UCS-4 охватывает все символы Unicode, которые могут быть закодированы в формате UTF.

Примеры кодировок UCS-4 (все с прямым порядком байтов):

  • символ '0' хранится как 0x00000030, используя четыре байта, а не однобайтный 0x30 в ASCII или UTF-8 или двухбайтовом 0x0030 в UTF-16.
  • Замещающий персонаж '�' хранится как 0x0000FFFD, снова используя четыре байта, а не трехбайтовый 0xEF 0xBF 0xBD в UTF-8 или двухбайтовом 0xFFFD в UTF-16.
  • Эмодзи '' хранится как 0x0001F606, снова используя четыре байта, но не используя суррогаты 0xD83D 0xDE06 в UTF-16 или четыре байта, например 0xF0 0x9F 0x98 0x86 в UTF-8.
  • Кодовые точки выше 0x10FFFF не входят в диапазон Unicode и не должны использоваться.

Связанные теги:

  • utf-32, ближайший преемник UCS-4
  • utf-8, utf-16, другие кодировки Unicode
  • юникод, ucs
  • ucs2, где каждый из 65536 символов занимает два байта

Подробнее: