Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как перевести строку HEX в строку ASCII?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
spectral1989
здравствуйте! возникла необходимость перевести строку HEX в строку ASCII символов на СИ. т.е.

string = { [0] = 0x31, [1] = 0x32, [2] = 0x33 } ===> string = { [0] = "1", [1] = "2", [2] = "3" }

как это можно сделать?
mempfis_
Цитата(spectral1989 @ Sep 28 2012, 13:27) *
здравствуйте! возникла необходимость перевести строку HEX в строку ASCII символов на СИ. т.е.

string = { [0] = 0x31, [1] = 0x32, [2] = 0x33 } ===> string = { [0] = "1", [1] = "2", [2] = "3" }

как это можно сделать?


Обе строки идеентичны. Только вместо "1" необходимо написать '1'.
И вопрос не совсем понятен.
_pv
не совсем понятно что куда надо перевести
в примере и слева и справа абсолютно то же самое написано, особенно если кавычки заменить на одиночные '.
Код
//asciihex["0".."F"] -> num[0..15]
int num = ascii - ((ascii >= 'A') ? ('A' + 10) : '0');
//num[0..15] -> asciihex["0".."F"]
char ascii = num + ((num >= 10) ? ('A' - 10) : '0');
Палыч
Цитата(spectral1989 @ Sep 28 2012, 14:27) *
как это можно сделать?

Я так понимаю: если есть одна строка, содержащая символы, например, "123", то нужно получить другую строку содержащую символы "7В" ? Для ленивых, например, так:
Код
  sprintf(string2, "%X", atoi(string1));
spectral1989
всем спасибо, разобрался!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.