|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2017, 16:33 | #1 |
Регистрация: 22.08.2015
Сообщений: 4
|
Преобразовать 16-ричные значения байтов в текст
Пишу программу в Delphi XE8, разбирающую пакет данных, захваченный с помощью Wireshark и сохраненный в текстовый файл.
В файле содержится текст в виде: "d0 b2 d0 b0 d0 b4 d1 8f" или "6d 61 6b 61 72". (в первом случае это "вадя", во втором "makar"). Помогите, пожалуйста, как этот текст декодировать? |
18.04.2017, 17:00 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
если Вы про то, как перевести текстовый файл содержащий строку вида:
d0 b2 d0 b0 d0 b4 d1 8f в бинарный файл, то всё просто читаете строку, берёте из строки по два символа, переводите из строкового Hex представления в числовое (вот так StrToInt('$'+ss)) и полученный байт записываете в выходной файл. вот и всё. |
18.04.2017, 17:05 | #3 |
Регистрация: 22.08.2015
Сообщений: 4
|
Не совсем. Мне нужно из 'd0 b2 d0 b0 d0 b4 d1 8f' получить 'вадя' и результат занести в поле БД. Причем, русские буквы закодированы 2мя байтами, английские 1им. (utf8, видимо).
utf8decode(#208#178) выдает символ 'в'. 208 - это d0 в dec, 178 - b2 в dec. Но как передать этой функции наши данные, которые находятся в integer переменных, я так и не придумал |
18.04.2017, 17:08 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вот, набросал рабочий пример:
Код:
|
18.04.2017, 17:15 | #5 |
Форумчанин
Регистрация: 29.10.2015
Сообщений: 273
|
Код:
Последний раз редактировалось Filka; 18.04.2017 в 17:32. |
18.04.2017, 17:31 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
опоздал. но всё же свой топорный вариант тоже выложу для коллекции:
Код:
|
18.04.2017, 17:36 | #7 |
Регистрация: 22.08.2015
Сообщений: 4
|
[QUOTE=Filka;1676234]
ошибка при компиляции [dcc32 Error] Unit1.pas(55): E2251 Ambiguous overloaded call to 'HexToBin' в строке: Код:
Последний раз редактировалось ProshkaS; 18.04.2017 в 17:46. Причина: дополнение |
18.04.2017, 17:40 | #8 |
Регистрация: 22.08.2015
Сообщений: 4
|
[QUOTE=Serge_Bliznykov;1676237]
Благодарю! Все работает. А я 2 дня голову ломал |
18.04.2017, 17:42 | #9 |
Форумчанин
Регистрация: 29.10.2015
Сообщений: 273
|
ProshkaS
Код:
Последний раз редактировалось Filka; 18.04.2017 в 17:44. |
18.04.2017, 17:48 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразовать текст | lolkaES | Помощь студентам | 6 | 10.12.2014 14:11 |
преобразовать числа в текст | Jaroslav | Microsoft Office Excel | 2 | 05.06.2014 13:42 |
Преобразовать в текст - 2 | Ogeris | Microsoft Office Excel | 3 | 06.03.2012 19:19 |
Преобразовать в текст | Ogeris | Microsoft Office Excel | 2 | 02.03.2012 07:15 |
Преобразовать текст в числовой | olimpus | Microsoft Office Excel | 17 | 12.11.2008 07:58 |