Solución:
La codificación ANSI es un término ligeramente genérico que se utiliza para hacer referencia a la página de códigos estándar de un sistema, normalmente Windows. Es más adecuado que se lo denomine Windows-1252 en sistemas occidentales / estadounidenses. (Puede representar algunas otras páginas de códigos de Windows en otros sistemas). Esto es esencialmente una extensión del juego de caracteres ASCII en el sentido de que incluye todos los caracteres ASCII con códigos adicionales de 128 caracteres. Esta diferencia se debe al hecho de que la codificación “ANSI” es de 8 bits en lugar de 7 bits como lo es ASCII (ASCII casi siempre se codifica hoy en día como bytes de 8 bits con el MSB establecido en 0). Consulte el artículo para obtener una explicación de por qué esta codificación se suele denominar ANSI.
El nombre “ANSI” es inapropiado, ya que no corresponde a ningún estándar ANSI real, pero el nombre se ha quedado. ANSI no es lo mismo que UTF-8.
Técnicamente, ANSI debería ser igual que US-ASCII. Se refiere al estándar ANSI X3.4, que es simplemente la versión ratificada de ASCII por la organización ANSI. El uso de los caracteres del conjunto de bits superior no está definido en ASCII / ANSI, ya que es un conjunto de caracteres de 7 bits.
Sin embargo, años de mal uso del término por parte de DOS y, posteriormente, la comunidad de Windows ha dejado su significado práctico como “la página de códigos del sistema de cualquier máquina que se esté utilizando”. La página de códigos del sistema también se conoce a veces como ‘mbcs’, ya que en los sistemas de Asia oriental puede ser una codificación de varios bytes por carácter. Algunas páginas de códigos pueden incluso usar bytes de borrado de bits superiores como bytes finales en una secuencia multibyte, por lo que ni siquiera es estrictamente compatible con ASCII simple … pero incluso entonces, todavía se llama “ANSI”.
En la configuración predeterminada de EE. UU. Y Europa occidental, “ANSI” se asigna a la página de códigos de Windows 1252. No es lo mismo que ISO-8859-1 (aunque es bastante similar). En otras máquinas podría ser cualquier otra cosa. Esto hace que “ANSI” sea completamente inútil como identificador de codificación externo.
Estrictamente hablando, no existe la codificación ANSI. Coloquialmente, el término ANSI se usa para varias codificaciones diferentes:
- ISO 8859-1
- Windows CP1252
- Codificación del sistema actual en una máquina con Windows (en la terminología de la API de Win32).