Автор: sibmail 8.4.2009, 5:30
из символа в код
str.at(0).unicode(); или str[0].toAscii();
а вот обратно пожскажите...
Автор: Litkevich Yuriy 8.4.2009, 7:36
Цитата(sibmail @ 8.4.2009, 9:30)
из символа в код
str.at(0).unicode(); или str[0].toAscii();
приведённый пример несколько не соответсчтвует словесному описанию. То, что в нем делается можно описать так:
Символ в заданной позиции строки преобразовать
1) в код символа в Unicode
2) к типу ASCII, если это позволяет текущий кодек.
обратные операции:
1)
Цитата
QChar::QChar ( uint code )
Constructs a QChar for the character with Unicode code point code.
2)
Цитата
QChar QChar::fromAscii ( char c ) [static]
Автор: igor_bogomolov 8.4.2009, 8:27
Цитата(sibmail @ 8.4.2009, 6:30)
а вот обратно пожскажите...
А я вот вообще теряюсь, что значит обратно? Может имелось в виду, вставить в указанную позицию в строке число?
int i = 5;
QString str = "8string";
str.replace(0, 1, QString::number(i));
Или просто строку получить из числа
int j = 12345;
QString str = QString::number(j)
Автор: sibmail 8.4.2009, 10:00
короче есть число, например 255. в ascii соответствует букве "я". нужен код который бы переводил число в символ.
какие еще сомнения??
еще пример кода можно ?? )))
Автор: Litkevich Yuriy 8.4.2009, 10:01
Цитата(sibmail @ 8.4.2009, 14:00)
например 255. в ascii соответствует букве "я".
Это тебе QByteArray нужн
Автор: sibmail 8.4.2009, 10:07
QChar a='я';
qDebug()<< a.unicode(); // 255
qDebug()<<QChar::QChar(255) ; // 'y'
почему так?? как сделать на 255 выводилась буква 'я' ??
Автор: Litkevich Yuriy 8.4.2009, 10:17
Цитата(sibmail @ 8.4.2009, 14:07)
почему так??
кодек надо установить для преобразования из внутреннего представления в наружное:
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
если у тебя виндовоз, у которого две кодировки одновременно сосуществуют, то вместо вывода в консоль перенаправь вывод в файл:
>myapp.exe 2 > out.txt
Автор: sibmail 8.4.2009, 10:22
У меня виндос, но и под линуксом тоже будет
работаю в qt creator, там вывод есть свой (не консольный)
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
вывод изменился но не помог:
1103
'y'
Автор: Litkevich Yuriy 8.4.2009, 10:25
Цитата(Litkevich Yuriy @ 8.4.2009, 14:17)
то вместо вывода в консоль перенаправь вывод в файл:
а так делал?
Автор: sibmail 8.4.2009, 11:06
Цитата(Litkevich Yuriy @ 8.4.2009, 11:25)
Цитата(Litkevich Yuriy @ 8.4.2009, 14:17)
то вместо вывода в консоль перенаправь вывод в файл:
а так делал?
зачем мне файл
мне в edit-поле надо выводить
Автор: Litkevich Yuriy 8.4.2009, 11:45
Цитата(sibmail @ 8.4.2009, 15:06)
зачем мне файл
мне в edit-поле надо выводить
ну туда и вводи. Я-то тебе про консоль (кодировка в консоли != кодировке в GUI, для виндовоза)