[Kde-devel-es] QString::latin1()
Antonio Larrosa Jiménez
larrosa at kde.org
Mon Apr 5 20:37:37 CEST 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
El Lunes 05 Abril 2004 12:11, José Miguel escribió:
> Hola otra vez, compañeros.
>
Hola,
> La verdad es que no entiendo muy bien el tema de la representación de
> caracteres, así que por eso estoy un poco despistado. Estoy llamando a
> funciones de una biblioteca en C desde una interfaz en C++ y estoy
> teniendo problemas en una serie de funciones que aceptan char *. Convierto
> las QString de la interfaz con latin1(), pero tengo problemas en los
> nombres de algunos ficheros; parece que dan problemas los que tienen el
> guión bajo '_'. ¿Puede ser esto así? Ya digo que no tengo mucha idea de
> este tema (ni de muchos otros ;)
latin1 es una conjunto de caracteres propio de europa occidental y
norteamérica, pero no es el único conjunto que hay, con lo que tu programa
fallará en el caso en que el sistema de archivos use otro sistema (por
ejemplo, en rusia o china, donde los nombres de ficheros pueden tener
caracteres que no se pueden representar en latin1).
Para convertir una cadena unicode (QString) en una cadena en la codificación
del sistema de ficheros, usa QFile::encodeName. No te austes porque devuelva
un QCString, ya que QCString es basicamente un "char *" (y de hecho, lo
puedes usar allí donde puedas usar un char * ya que tiene un operador de
conversión definido).
Por otra parte, no sé qué funciones de C vas a utilizar para manejar esos
ficheros, pero siempre que puedas, te recomiendo que uses las clases de Qt
que hacen lo mismo (o mejor incluso, de KIO, pero las de Qt se asemejan más
a las de C).
Por ejemplo, en vez de unlink, usa QFile::remove; en vez de stat, usa
QFile::exists; en vez de fopen y leer un fichero de texto, usa QTextStream
pasándole un objeto QFile al constructor, etc.
Saludos,
- --
Antonio Larrosa Jimenez
KDE developer - larrosa at kde.org
http://developer.kde.org/~larrosa/
Better read something in another language than a riddle in your own.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQFAcad/3mWkZZAItZARAi0AAKChsp7Em6uBAIFT5u+B8DfY0YxD7ACeKk8H
1sFLJgrTuwVLzA9tQ9dpF6E=
=fB4Z
-----END PGP SIGNATURE-----
More information about the Kde-devel-es
mailing list