weird code characters string unicode encoding char utf

string - code - ¿Cuál es la diferencia entre UTF-32 y UCS-4?



utf-8 (2)

¿Cuál es la diferencia entre UTF-32 y UCS-4? ¿No se supone que UTF-32 es una codificación de ancho fijo?


El estándar Unicode versión 8.0, apéndice C dice:

UCS-4 significa "Conjunto de caracteres universal codificado en 4 octetos". Ahora se trata simplemente como un sinónimo de UTF-32, y se considera la forma canónica para la representación de caracteres en 10646.


UTF-32 ha comenzado como un subconjunto de UCS-4 . Ahora es idéntico, excepto que el estándar UTF-32 tiene semántica Unicode adicional. Ver detalles en la wikipedia :

El estándar ISO 10646 original define una forma de codificación de 31 bits llamada UCS-4 , en la que cada carácter codificado en el Conjunto de caracteres universales (UCS) está representado por un valor de código amigable de 32 bits en el espacio de código de enteros entre 0 y hexadecimal 7FFFFFFF.

Debido a que solo 17 planos están realmente en uso, todos los puntos de código actuales están entre 0 y 10xFFFF . UTF-32 es un subconjunto de UCS-4 que usa solo este rango. Dado que el documento de Principios y Procedimientos de JTC1 / SC2 / WG2 establece que todas las asignaciones futuras de caracteres se limitarán a BMP o los primeros 14 planos suplementarios, UTF-32 podrá representar todos los caracteres Unicode. En consecuencia, UCS-4 y UTF-32 ahora son idénticos, excepto que el estándar UTF-32 tiene semántica de Unicode adicional .

Sin embargo, no estoy exactamente seguro de lo que significa la additional Unicode semantics . Tal vez alguien pueda dar una mejor respuesta.