Как по коду (числу) получить символ? |
Здравствуйте, гость ( Вход | Регистрация )
Как по коду (числу) получить символ? |
sibmail |
8.4.2009, 5:30
Сообщение
#1
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
из символа в код
str.at(0).unicode(); или str[0].toAscii(); а вот обратно пожскажите... |
|
|
Litkevich Yuriy |
8.4.2009, 7:36
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
из символа в код приведённый пример несколько не соответсчтвует словесному описанию. То, что в нем делается можно описать так: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
Сообщение
#3
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
а вот обратно пожскажите... А я вот вообще теряюсь, что значит обратно? Может имелось в виду, вставить в указанную позицию в строке число? 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
Сообщение
#4
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
короче есть число, например 255. в ascii соответствует букве "я". нужен код который бы переводил число в символ.
какие еще сомнения?? еще пример кода можно ?? ))) |
|
|
Litkevich Yuriy |
8.4.2009, 10:01
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
sibmail |
8.4.2009, 10:07
Сообщение
#6
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
QChar a='я';
qDebug()<< a.unicode(); // 255 qDebug()<<QChar::QChar(255) ; // 'y' почему так?? как сделать на 255 выводилась буква 'я' ?? |
|
|
Litkevich Yuriy |
8.4.2009, 10:17
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
почему так?? кодек надо установить для преобразования из внутреннего представления в наружное: если у тебя виндовоз, у которого две кодировки одновременно сосуществуют, то вместо вывода в консоль перенаправь вывод в файл:
|
|
|
sibmail |
8.4.2009, 10:22
Сообщение
#8
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
У меня виндос, но и под линуксом тоже будет
работаю в qt creator, там вывод есть свой (не консольный) QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); вывод изменился но не помог: 1103 'y' |
|
|
Litkevich Yuriy |
8.4.2009, 10:25
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
sibmail |
8.4.2009, 11:06
Сообщение
#10
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 21:32 |