#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>
std::string uint8ArrayToHexString(const uint8_t arr[], size_t length) {
std::stringstream ss;
ss << std::hex << std::setfill('0');
for (size_t i = 0; i < length; ++i) {
ss << std::setw(2) << static_cast<int>(arr[i]);
}
return ss.str();
}
int main() {
uint8_t arr[] = {0xFF, 0xAA, 0xAB, 0xCD};
size_t length = sizeof(arr) / sizeof(arr[0]);
std::string str = uint8ArrayToHexString(arr, length);
std::cout << "String: " << str << std::endl;
uint8_t newArr[length];
hexStringToUint8Array(str, newArr, length);
for (size_t i = 0; i < length; ++i) {
std::cout << "0x" << std::hex << static_cast<int>(newArr[i]) << " ";
}
std::cout << std::endl;
return 0;
}
int main() {
std::string s = "ffaaabcd";
std::vector<uint8_t> v;
for (size_t i = 0; i < s.length(); i += 2) {
v.push_back(static_cast<uint8_t>(std::stoul(s.substr(i, 2), nullptr, 16)));
}
for (auto &i : v) {
std::cout << std::hex << static_cast<int>(i) << ' ';
}
return 0;
}
#include <iostream>
int main() {
uint8_t arr[4] = {0xff, 0xaa, 0xab, 0xcd};
char* p = reinterpret_cast<char*>(arr);
for (int i = 0; i < 4; ++i) {
std::cout << std::hex << static_cast<int>(p[i]) << ' ';
}
std::cout << std::endl;
uint8_t* q = reinterpret_cast<uint8_t*>(p);
for (int i = 0; i < 4; ++i) {
std::cout << std::hex << static_cast<int>(q[i]) << ' ';
}
return 0;
}