Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Token32 en 26 Julio 2014, 17:33 pm



Título: Obtener codificacion de caracteres de un archivo de texto en C
Publicado por: Token32 en 26 Julio 2014, 17:33 pm
Pues como el titulo lo dice alguien sabe como obtener la codificacion de caracteres (ASCII,UTF-8, etc..) de un archivo en C?


Título: Re: Obtener codificacion de caracteres de un archivo de texto en C
Publicado por: eferion en 26 Julio 2014, 18:09 pm
Hasta donde llego, la única forma de detectarlo es procesar el fichero y localizar combinaciones propias de uno de los formatos. Me explico:

* ASCII: Define 128 caracteres y es la base para casi todas las codificaciones comunes.

* UTF8 tiene dos formatos diferentes, con BOM y sin BOM... BOM o "Bit Order Mask" es una identificación que se añade al principio del fichero... si te la encuentras pues está claro que la codificación es UTF8... si no te la encuentras puede que sea UTF8... o no, dependerá de las secuencias que encuentres en el archivo. Las primeras 128 posiciones de UTF8 coinciden con las ASCII.

* Etc: Cada codificación tiene sus peculiaridades, lo mejor es buscar en Internet o concretar un poco más la pregunta.