genbetadev / Genbeta-Dev-Engine

Desarrollo de un Game Engine básico sobre C++ y SFML 2.1
MIT License
63 stars 32 forks source link

¿Qué encoding se utilizará en los archivos de código y en std::string? (ISO-8859-1, UTF-8, etc.) #52

Open davidab opened 10 years ago

davidab commented 10 years ago

Hola, este es mi primera participación y llevo 15 años alejado de todo esto así que perdonar si mi pregunta es muy básica.

Ya empiezan a aparecer caracteres no ASCII en los ficheros de código fuente, especialmente en los comentarios. Por ejemplo al abrir App.hpp con QtCreator me advierte de que no lo puede decodificar como UTF-8 y me pide que escoja yo la codificación de este fichero (ISO-8859-1/15) qtcreatorapp hpppng

Dado que std::string no contiene de forma explicita la codificación del contenido, esta debe establecerse por consenso y por lo que he leido por ahí puede ser un lio (https://alfps.wordpress.com/2011/11/22/unicode-part-1-windows-console-io-approaches/ , http://www.utf8everywhere.org/)

Por lo que tengo entendido en Linux, OSX y similar la codificación UTF-8 se ha convertido en estandard de facto mientras que en Windows el tema es más complicado.

¿Cómo se van a gestionar estos temas en este proyecto? ¿Cómo se supone que está codificado un literal "áéíóuñ"? ¿Que se supone que puede haber en un std::string?

Muchas gracias por un proyecto tan interesante para ir poniendome al día. :-)

adrigm commented 10 years ago

La codificación de los archivos sera UTF-8 sin BOM, hay que empezar a pasar todos los archivos a esta codificación y tomarla como estándar antes de que el proyecto crezca más.

En cuanto a los string es algo que hay que decidir, una solución podría ser usar std::wstring