將十六進位字串轉換為位元組數組
處理二進位資料時,通常需要將十六進位字串轉換為位元組數組。十六進位字串表示十六進位格式的原始二進位資料。以下是如何使用可變長度十六進位字串在 C 中完成此轉換。
要將十六進位字串「01A1」轉換為位元組數組,我們將使用以下方法:
std::vector<char> HexToBytes(const std::string& hex) { std::vector<char> bytes; for (unsigned int i = 0; i < hex.length(); i += 2) { std::string byteString = hex.substr(i, 2); char byte = (char)strtol(byteString.c_str(), NULL, 16); bytes.push_back(byte); } return bytes; }
此函數迭代十六進位字串,一次擷取字元對並使用strtol() 函數將它們轉換為對應的位元組。然後返回生成的位元組數組。
將十六進位字串轉換為位元組數組後,可以將其儲存在 char* 或 std::vector
以上是如何在 C 中將十六進位字串轉換為位元組數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!