Преобразование беззнакового символа * в читаемую строку и что делает эта функция

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

Можете ли вы сказать мне, что делает эта функция, которую я нашел? И помогите мне разработать функцию, которая преобразует беззнаковый символ *(который является хеш-строкой) в печатную строку?

Делает ли следующая функция это:
- он перебирает каждый второй символ строки массива char
- в каждом цикле он читает символ в строке позиции [x], преобразует его в число без знака (с точностью до 2 десятичных знаков) и затем копирует этот преобразованный символ (число?) в переменные uChar.
- наконец, он хранит беззнаковый символ uChar в hex string

void AppManager :: stringToHex( unsigned char* hexString, char* string, int stringLength ) 
{     
    // Post:

    unsigned char uChar = 0;           

    for ( int x = 0; x<stringLength; x+=2 )     
    {         
        sscanf_s(&string[x], "%02x", &uChar);         
        hexString[x] = uChar;     
    } 

} 

Таким образом, я предполагаю, что это означает, что он преобразует символ в строке в unsigned(& 2dcp), чтобы обеспечить правильное хранение шестнадцатеричной строки. Зачем использовать 2 знака после запятой, и не происходит ли простое преобразование из знака (если этот символ со знаком) в знак без знака в совершенно другую строку?

Если у меня есть неподписанный символ *, как я могу преобразовать его во что-нибудь, что позволит мне распечатать его на экране?

1 ответ

Это не десятичные разряды, это цифры. Вы говорите: "Не давайте мне строку короче 2; если она короче 2 цифр, то добавьте ее к нулю".

Это так, что если у вас есть шестнадцатеричная последовательность 0x0A это на самом деле напечатает 0A и не только A,

Также здесь нет конверсии со знаком / без знака. Шестнадцатеричные строки - это шестнадцатеричные строки - они не имеют знака. Они представляют собой двоичное представление данных, и в зависимости от того, как они интерпретируются, могут читаться как целые числа со знаком, дополненные двумя, беззнаковые целые, строки или что-то еще.

Другие вопросы по тегам