[C con Clase] Codificación de caracteres

Programante programante en gmail.com
Mie Dic 9 17:33:16 CET 2009


David . escribió:
> Hola,
>
> Tengo una duda, ¿qué codificación de caracteres utiliza C++?
>
> Al manipular streams con la biblioteca estándar de C++ (por ejemplo,
> al leer ficheros de texto con la clase ifstream), ¿qué codificación de
> caracteres se utiliza para decodificar los bytes del fichero de texto?
> ¿se puede cambiar dicha codificación?
>
> Muchas gracias.
>
No se utiliza ninguna codificación. Lees y escribes bytes.
Pueden ser caracteres en windows-1252, utf-8, ucs-16 o datos binarios de
una imagen.
Eso al ordenador le da igual, del mismo modo que no comprueba que el
fichero de texto esté en español.*

Lo que ya es harina de otro costal es cómo va a interpretarlos el
programa con el que lo abras o la pantalla donde lo imprimas.
Por ejemplo, es común que en Windows trabajes con ficheros en
windows-1252 pero a la hora de imprimir datos por pantalla te los
imprima como si fueran CP850 :(


*Con la salvedad de que en Windows existe un modo de archivos 'binario',
fuera del cual la librería te realiza traducciones de saltos de línea y
fin de fichero. Con lo cual te
podría corromper los datos si tienen ciertos caracteres especiales.





Más información sobre la lista de distribución Cconclase