16진수 문자열을 바이트 배열로 변환
2진 데이터로 작업할 때 16진수 문자열을 바이트 배열로 변환해야 하는 경우가 많습니다. 16진수 문자열은 원시 이진 데이터를 16진수 형식으로 나타냅니다. 가변 길이 16진수 문자열을 사용하여 C에서 이 변환을 수행할 수 있는 방법은 다음과 같습니다.
16진수 문자열 "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; }
이 함수는 16진수 문자열을 반복하여 한 번에 문자 쌍을 추출하고 strtol() 함수를 사용하여 이를 해당 바이트로 변환합니다. 그런 다음 결과 바이트 배열이 반환됩니다.
16진수 문자열을 바이트 배열로 변환한 후에는 이를 char* 또는 std::Vector
위 내용은 C에서 16진수 문자열을 바이트 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!