crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Как по коду (числу) получить символ?
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  


Цитата(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
Сообщение #3


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(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
Сообщение #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, 14:00) *
например 255. в ascii соответствует букве "я".
Это тебе QByteArray нужн
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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, 14:07) *
почему так??
кодек надо установить для преобразования из внутреннего представления в наружное:
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
если у тебя виндовоз, у которого две кодировки одновременно сосуществуют, то вместо вывода в консоль перенаправь вывод в файл:
>myapp.exe 2 > out.txt
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(Litkevich Yuriy @ 8.4.2009, 14:17) *
то вместо вывода в консоль перенаправь вывод в файл:
а так делал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sibmail
  опции профиля:
сообщение 8.4.2009, 11:06
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 63
Регистрация: 20.3.2009
Пользователь №: 626

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 8.4.2009, 11:25) *
Цитата(Litkevich Yuriy @ 8.4.2009, 14:17) *
то вместо вывода в консоль перенаправь вывод в файл:
а так делал?



зачем мне файл
мне в edit-поле надо выводить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 17:13