Название: Hex2BIn Отправлено: platerx от Июль 04, 2006, 16:21 Извеняюсь за тупой вопрос, я тлько недавно стал осваивать Qt.
А вопрос такой: как средствами Qt hex в bin. Т.е. есть Qstring, в котором находяться hex данные как из этого сделать QByteArray, в котором буддут те же данные, в бинарном виде. Название: Hex2BIn Отправлено: DenKor от Июль 05, 2006, 12:57 Как и обычно посимвольно считываешь строку и делаешь подстановку в QByteArray
"0" - 0 ........... "9"-9 "A" - 10 ........... "F" - 15 Название: Hex2BIn Отправлено: platerx от Июль 05, 2006, 13:50 Я немонго не то имею в виду:
Например есть строка "41424344" из неё надо получить "ABCD", те 41->A, 42->B и т.д. Сейчас я делаю так: Код:
Но мне кажется это корявым. Название: Hex2BIn Отправлено: DmP от Июль 05, 2006, 14:34 Цитата: "platerx" Я немонго не то имею в виду: Например есть строка "41424344" из неё надо получить "ABCD", те 41->A, 42->B и т.д. Сейчас я делаю так: Код:
Но мне кажется это корявым. Так понимаю, если нужно что бы быстро работало, то: 1) bin.resize(hex.size()/2) 2) Получаешь указатели (char*)bin.data(), (const QChar*)hex.constData() 3) Далее перебираешь соответственно оба указателя, преобразуя данные выше указанным способом - *ptr2 = (*(ptr1+1)-'0') * 16 + (*ptr1-'0') Кажеться так, может где ошибся. =) Название: Hex2BIn Отправлено: platerx от Июль 05, 2006, 15:10 2 DmP Спасибо за совет!
Но мне хотелось бы узнать нельзя ли это сдеать "идеалогически правильно", т.е. безо всяких явных преобразование типов, и т.д. Название: Hex2BIn Отправлено: DmP от Июль 05, 2006, 16:07 Цитата: "platerx" 2 DmP Спасибо за совет! Но мне хотелось бы узнать нельзя ли это сдеать "идеалогически правильно", т.е. безо всяких явных преобразование типов, и т.д. Хочешь, чтоб еще трольтехи за тебя написали процедуру конвертирования? :D Название: Hex2BIn Отправлено: DenKor от Июль 05, 2006, 20:10 Цитата: "platerx" Я немонго не то имею в виду: Например есть строка "41424344" из неё надо получить "ABCD", те 41->A, 42->B и т.д. Сейчас я делаю так: Код:
Но мне кажется это корявым. Фраза насчте идеалогии... :shock: Самый простой способ это табличный способ. mas[0xff]={}, где для каждого возможного элемента (их 255), содержимое элемента его буквенный символ. Смотри например реализацию QTextCodec, можешь даже для этого случая свою кодировку описать - это 100% идеалогически правильно :D Название: Hex2BIn Отправлено: platerx от Июль 06, 2006, 13:16 Понятно. Просто я думал, что в Qt есть что-нть готовое.
|