Seite 1 von 1
Ascii zu String und String zu ascii?
Verfasst: 16. September 2006 16:03
von kante23
Hallo,
ich bekomme ienfach nicht heraus, wie ich die Funktion lautet mit der man einen Ascii-Code in das Entsprechende Zeichen (also QString) und ein ZEichen in den entsprecheneden ASCII-Code umwandeln kann.
Wer weis es?
mfg Kante
ascii code nach qstring
Verfasst: 16. September 2006 21:30
von rmeeh
ich bekomme ienfach nicht heraus, wie ich die Funktion lautet mit der man einen Ascii-Code in das Entsprechende Zeichen (also QString) und ein ZEichen in den entsprecheneden ASCII-Code umwandeln kann.
Wer weis es?
--->
Hallo
ganz so einfach darfst Du Dir das nicht machen. Ein QString besteht aus UNICODE, d.h. ein Zeichen wird mit 2 Bytes dargestellt und nicht mit einem Ascii Zeichen.
Du kannst Dir jedoch einen normalen String also z.B. char[80] ohne Probleme zurechtbauen und jedem Zeichen einen beliebigen ascii Code zuweisen (e.g. ch[4]=64). Danach kannst Du das z.b. mit qstring1+=str; an einen Qstring anhängen (auch an einen leeren), die Umwandlung passiert dabei automatisch. Rückwarts bekommst Du dann wieder mit str=qstring1.ascii() einen "normalen" String.
Oder aber Du verwendest folgendes Member
"QString arg ( char a, int fieldWidth = 0 ) const"
Schau mal bei Trolltech auf die Homepage, in der Klassenbeschreibung von QString steht dieses Member und noch viele andere zu QString.
URL:
http://doc.trolltech.com/3.3/qstring.html
Gruß Ralf
Verfasst: 16. September 2006 21:45
von tachyon
Also wenn Du wirklich einzelne Characters von QString nach char bzw. umgekehrt konvertieren willst, kannst Du das so machen:
Code: Alles auswählen
//Von char nach QString
QString _qString;
char _nCharacter = 'a';
_qString = _nCharacter;
//von QString nach char
char _nCharacter;
QString _qString = 'a';
_nCharacter = _qString.toStdString.c_str()[0];
Wenn Du die ASCII-Codes für einen ganzen String in die entsprechenden ASCII-Codes konvertieren willst, kannst Du den Array-Index natürlich auch variieren, also z.B. so:
Code: Alles auswählen
int _nLoop;
QString _qString = "Hallo Welt";
char _nCurrentASCII;
for(_nLoop = 0; _nLoop < _qString.size(); _nLoop++)
{
_nCurrentASCII = _qString.toStdString.c_str()[_nLoop];
}
Ich hoffe, es ist das, was Du wolltest.