NovaMonoFix
Errores PHP
X
Usuario
Password
0 FPS

Conversor UTF8 - Windows1252

07 de Febrero del 2011 por Josep Antoni Bover, 14 visitas, 0 comentarios, 0 votos
Categorías : Windows, Programación, C y C++.
La web está en segundo plano, animación en pausa.
Cargando animación...
Conversor UTF8 - Windows1252

Este 'conversor' es una aplicación que me facilita la vida a la hora de convertir archivos de código cpp y h recursivamente de una codificación a otra.

Lo bueno que tiene esta aplicación es que convierte recursivamente todos los archivos de código que pueda contener un directorio (incluyendo sus subdirectorios).

Por otra parte no tiene interface grafico, y es una simple aplicación de consola. Además guarda los archivos originales con la extensión .OLD

Este proyecto consiste en dos simples aplicaciones que convierten todos los archivos C, Cpp y H del directorio donde se encuentren ubicados los ejecutables.

La razón principal por la que se creó el proyecto es porque la mayoría de mi código en C/C++ se ha creado bajo VisualStudio, y este por defecto guarda todos los archivos bajo la codificación Windows-1252 en mi PC. El problema viene cuando hay que documentar un código utilizando Doxygen, e incluir esta documentación en un sitio web el cual trabaja con la codificación UTF8.

En principio no es un problema muy grave si el código consiste en un par de archivos, ya que desde el mismo VisualStudio se puede cambiar la codificación de los archivos, pero por ejemplo con la DWL existen más de 175 archivos de código, y cambiar la codificación uno a uno puede terminar en una tarde tediosa, que además puede acabar siendo una pérdida de tiempo total.

Por ello acabe por hacer este proyecto que consiste en 2 aplicaciones : UTF8aWindows1252.exe y Windows1252aUTF8.exe

Lo que hacen es bastante simple, ya que escanean recursivamente el directorio donde se encuentran los ejecutables, y todos los archivos que encuentran con la extensión C, CPP y H son leídos en memoria y re-escritos a la codificación que se requiera.

Por razones de seguridad los archivos originales se renombran añadiéndoles la extensión .OLD de forma de que si hay algún problema puedan ser recuperados.

El código fuente viene todo en el archivo UTF8aWindows1252.cpp para los dos conversores.

La cosa es simple, si deseas compilar el conversor UTF8 a Windows1252, el principio del archivo UTF8aWindows1252.cpp debería quedar así :

De UTF8 a Windows 1252
1
2
3
4
5
#define UTF8_A_WINDOWS_1252 0
#define WINDOWS_1252_A_UTF8 1
#define CONVERSION UTF8_A_WINDOWS_1252 // Conversor UTF8 a Windows1252
// #define CONVERSION WINDOWS_1252_A_UTF8 // Conversor Windows1252 a UTF8

Si por el contrario quieres compilar el conversor Windows1252 a UTF8 , deberás dejar el principio del archivo UTF8aWindows1252.cpp así :

De Windows 1252 a UTF8
1
2
3
4
5
#define UTF8_A_WINDOWS_1252 0
#define WINDOWS_1252_A_UTF8 1
// #define CONVERSION UTF8_A_WINDOWS_1252 // Conversor UTF8 a Windows1252
#define CONVERSION WINDOWS_1252_A_UTF8 // Conversor Windows1252 a UTF8
Este proyecto viene preparado para compilar con VisualStudio 2010, si vas a usar una versión más antigua deberás crearte un proyecto de consola y añadir el archivo UTF8aWindows1252.cpp a tu proyecto.
Descargar conversor UTF8 Windows1252 Descargar código fuente