16진수 문자열을 바이트 배열로 변환
데이터 처리 영역에서는 16진수 문자열을 바이트 배열로 변환해야 하는 경우가 많습니다. 효율적인 저장 및 처리를 용이하게 합니다. 이 프로세스에는 각 16진수 쌍을 해당하는 이진수 표현으로 변환하는 과정이 포함됩니다.
16진수 문자열을 문자 배열로 변환
16진수 문자열을 문자로 변환하려는 경우 배열을 사용하는 경우 다음 코드를 활용할 수 있습니다.
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() 함수입니다. 특히, 모든 짝수 길이의 16진수 문자열을 처리할 수 있습니다.
예:
std::string hex = "01A1"; auto bytes = HexToBytes(hex);
이 코드는 16진수 문자열 "01A1"을 문자 배열로 변환합니다. 바이너리 데이터를 포함하는 바이트입니다. 그런 다음 이 데이터를 파일에 쓰고 hexdump -C를 사용하여 검사하여 정확성을 검증할 수 있습니다.
위 내용은 C에서 16진수 문자열을 바이트 배열이나 문자 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!