Bootstrap

C++ byte数组转16进制字符串 16进制字符串转byte数组

C++

byte数组转16进制字符串

16进制字符串转byte数组

开发环境VS2022

#include <stdio.h>
#include <string.h>
#include<iostream>

#pragma warning(disable:4996)

using namespace std;


//byte数组转16进制字符串
//16进制字符串转byte数组
unsigned char arr[6] = { 100,2,78,65,255,0 };
unsigned char arr_out[6] = {0};
char temp16_arr[6 * 2 + 1] = { 0 };

int getIndexOfSigns(char ch)
{
    if (ch >= '0' && ch <= '9')
    {
        return ch - '0';
    }
    if (ch >= 'A' && ch <= 'F')
    {
        return ch - 'A' + 10;
    }
    if (ch >= 'a' && ch <= 'f')
    {
        return ch - 'a' + 10;
    }
    return -1;
}

int main()
{

    for (int i = 0; i < sizeof(arr); i++)
    {
        sprintf(&temp16_arr[i*2], "%02x", arr[i]);
    }
    cout << temp16_arr 
;