crossplatform.ru

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


  Ответ в Перевод ancii в hex
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
RazrFalcon Дата 25.8.2012, 3:07
  Спасибо. Почти сработало. С русскими символами разные результаты.
PAFOS Дата 23.8.2012, 16:27
  QByteArray pass = QTextCodec::codecForName("Windows-1251").makeEncoder().fromUnicode(password);
Sokoloff Дата 21.8.2012, 22:59
 
Цитата(RazrFalcon @ 21.8.2012, 21:17) *
Результат другой.

Давай пример, что на входе и что надо получить.
RazrFalcon Дата 21.8.2012, 20:17
  Результат другой.
Sokoloff Дата 21.8.2012, 16:41
 
Цитата(RazrFalcon @ 20.8.2012, 19:13) *
Есть такая вот функция:
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));
    QByteArray pass;
    QDataStream pds(&pass, QIODevice::WriteOnly);
    pds.setByteOrder(QDataStream::LittleEndian);
    for (int i = 0; i < password.count(); ++i)
        pds << (quint8)password.at(i).unicode();
    pass = pass.toHex();
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

И это верно работает. Но я хотел бы найти более короткий вариант. По тому, что думаю что тут слишком много не нужного.

PS: кодировка нужна именно виндовая.


А чем QByteArray::toHex не устроил?
RazrFalcon Дата 20.8.2012, 18:13
  Есть такая вот функция:
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));
    QByteArray pass;
    QDataStream pds(&pass, QIODevice::WriteOnly);
    pds.setByteOrder(QDataStream::LittleEndian);
    for (int i = 0; i < password.count(); ++i)
        pds << (quint8)password.at(i).unicode();
    pass = pass.toHex();
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

И это верно работает. Но я хотел бы найти более короткий вариант. По тому, что думаю что тут слишком много не нужного.

PS: кодировка нужна именно виндовая.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 1:19