2012-04-05 25 views
5
  • ¿Es iso-8859-1 un subconjunto apropiado de utf-8?
  • ¿Qué pasa con iso-8859-n?
  • ¿Qué pasa con windows-1252?

Si la respuesta es no a cualquiera de las anteriores, ¿cuáles son los caracteres disjuntos? Estoy probando una lógica que detecta conjuntos de caracteres y quiero escribir pruebas para verificar que la detección funciona correctamente.Character Set Caracteres especiales

Respuesta

8

¿Es iso-8859-1 un subconjunto apropiado de utf-8?

El Reportoire carácter de ISO-8859-1 (los primeros 256 caracteres de Unicode) es un subconjunto propio de la de UTF-8 (cada carácter Unicode).

Sin embargo, el characters U+0080 to U+00FF son codificado diferente en los dos codificaciones.

  • ISO-8859-1 asigna cada uno de estos caracteres un solo byte de 80 a FF.
  • UTF-8 codifica los mismos caracteres que two-byte secuencias C2 80 a C3 BF.

¿Qué pasa con iso-8859-n?

Estas son 15 codificaciones diferentes que contienen un total de 614 caracteres distintos. Algunos de estos caracteres aparecen en varias "partes" de ISO 8859, y otros no. Tendras que ser mas especifico.

Veo que su pregunta está etiquetada con ISO-8859-2. Los personajes que se encuentran en -2 que no están en -1 son:

Ă㥹ĆćČčĎďĐđĘęĚěĹ弾ŁłŃńŇňŐőŔŕŘřŚśŞşŠšŢţŤťŮůŰűŹźŻżŽžˇ˘˙˛˝

¿Qué pasa con windows-1252?

Windows-1252 es como ISO-8859-1, excepto que reemplaza los caracteres de control poco utilizados en el rango 0x80-0x9F con caracteres imprimibles. Los personajes que se encuentran en las ventanas-1252 pero no en la norma ISO-8859-1 son:

ŒœŠšŸŽžƒˆ˜–—‘’‚“”„†‡•…‰‹›€™

+0

Así que estás diciendo que repertorio de iso-8859-1 es un subconjunto propio del repertorio de UTF-8 ? Yo creo eso. De lo que no estoy seguro es de que el repertorio de utf-8 sea igual al repertorio de de unicode. Pensé que el propósito de utf-16/utf-32 era poder codificar más/todos los caracteres Unicode respectivamente. –

+1

Ahh .. Lo busqué. Como UTF-8 puede representar caracteres como múltiples bytes, puede expresar todo el repertorio Unicode. Esto tiene sentido ahora. –

0

Unicode es un superconjunto de todos estos conjuntos de caracteres, y de prácticamente todos los juegos de caracteres establecidos. Puede encontrar una lista de asignaciones de todos estos conjuntos de caracteres a puntos de código Unicode aquí: http://unicode.org/Public/MAPPINGS/.