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.