utf8 codificacion unicode character-encoding ascii ansi utf

codificacion - Diferencias de formato Unicode, UTF, ASCII, ANSI



codificacion ansi (2)

¿Cuál es la diferencia entre las Unicode , UTF8 , UTF7 , UTF16 , UTF32 , ASCII y ANSI ?

¿De qué manera son útiles para los programadores?



Bajando tu lista:

  • " Unicode " no es una codificación, aunque desafortunadamente, una gran cantidad de documentación lo usa de manera imprecisa para referirse a la codificación Unicode que ese sistema particular usa de forma predeterminada. En Windows y Java, esto a menudo significa UTF-16; en muchos otros lugares, significa UTF-8. Correctamente, Unicode se refiere al conjunto de caracteres abstractos, no a ninguna codificación en particular.
  • UTF-16 : 2 bytes por "unidad de código". Este es el formato nativo de cadenas en .NET, y generalmente en Windows y Java. Los valores fuera del plano multilingüe básico (BMP) se codifican como pares sustitutos. (Estos son relativamente raramente usados, lo que es un buen trabajo, ya que muy pocos desarrolladores lo hacen bien, sospecho. Dudo mucho que lo haga).
  • UTF-8 : codificación de longitud variable, 1-4 bytes por punto de código. Los valores ASCII se codifican como ASCII utilizando 1 byte.
  • UTF-7 : Generalmente se utiliza para la codificación de correo. Es probable que si crees que lo necesitas y no estás haciendo el correo, te equivocas. (Esa es solo mi experiencia de personas que publican en grupos de noticias, etc. - fuera del correo, realmente no se usa mucho).
  • UTF-32 : Codificación de ancho fijo con 4 bytes por punto de código. Esto no es muy eficiente, pero hace la vida más fácil fuera de BMP. Tengo una clase .NET Utf32String como parte de mi biblioteca MiscUtil , si alguna vez la desea. (No ha sido probado a fondo, claro).
  • ASCII : Codificación de un solo byte utilizando solo los 7 bits inferiores. (Puntos de código Unicode 0-127.) Sin acentos, etc.
  • ANSI: No hay una codificación ANSI fija, hay muchas de ellas. Por lo general, cuando la gente dice "ANSI" significa "la configuración regional predeterminada / página de código para mi sistema", que se obtiene a través de Encoding.Default , y con frecuencia es Windows-1252 pero pueden ser otras configuraciones regionales.

Hay más en mi página Unicode y consejos para depurar problemas de Unicode .

El otro gran recurso de código es unicode.org, que contiene más información de la que usted podrá encontrar, posiblemente, el bit más útil es la tabla de códigos .