Как преобразовать char в шестнадцатеричный, хранящийся в форме uint8_t?

StackOverflow https://stackoverflow.com/questions/9396265

  •  29-10-2019
  •  | 
  •  

Вопрос

Предположим, у меня есть эти переменные

родовое слово

Как преобразовать код ndef_input (который представляет собой обычный текст, например "hello") в шестнадцатеричный и сохранить в коде ndef_msg? Как видите, ndef_default_msg имеет шестнадцатеричную форму.Данные внутри ndef_msg тоже должны быть такими же.

Немного предыстории: в исходной программе ( исходный код ) программа откроет файл, получитданные и поместите их в ndef_msg, который затем будет записан на карту.Но я не понимаю, как он может принимать данные и преобразовывать их в шестнадцатеричный формат.

Я хочу упростить программу, чтобы она напрямую запрашивала у пользователя текст (вместо запроса файла).

Это было полезно?

Решение

Почему бы не прочитать его напрямую в ndef_msg (за вычетом \ 0, если предполагается, что это чистый массив).Шестнадцатеричные числа предназначены только для представления, вы можете просто выбрать десятичное или восьмеричное без последствий для содержимого.

родовое слово

Вероятно, вам нужно обработать чтение строки по-другому, чтобы разрешить пробелы и возможно игнорировать \0, это просто для иллюстрации моей точки зрения.

Другие советы

Может быть, не очень элегантно, но просто: определите таблицу поиска, которая отображает код символа (от 0 до 255) в желаемое значение.

родовое слово

Я пару раз использовал такие не элегантные решения (например, для отображения цветов), и они работали так же хорошо, как и другие модные решения

Если я правильно понимаю, вы читаете данные в шестнадцатеричном формате, хранящиеся в ndef_input, анализируете их и сохраняете значение в ndef_msg.

вы можете использовать

общий
<цитата> общий

Надеюсь, это поможет вам

родовое слово

А ascii2hex определяется следующим образом:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top