C에서 문자열을 16진수로 변환하고 다시 C로 변환
문자열과 16진수를 조작하는 것은 프로그래밍에서 일반적인 작업입니다. C에서 표준 라이브러리는 이러한 작업을 위한 함수 세트를 제공합니다.
문자열을 16진수로(string_to_hex)
문자열을 16진수로 변환하는 작업은 string_to_hex 함수를 사용하여 수행됩니다. . 이 함수는 입력 문자열의 각 문자를 반복하고 해당 문자의 16진수 값을 추출하여 출력 문자열에 추가합니다. 예를 들어, "Hello World" 문자열은 "48656C6C6F20576F726C64"로 변환됩니다.
std::string string_to_hex(const std::string& input) { static const char hex_digits[] = "0123456789ABCDEF"; std::string output; output.reserve(input.length() * 2); for (unsigned char c : input) { output.push_back(hex_digits[c >> 4]); output.push_back(hex_digits[c & 15]); } return output; }
16진수를 문자열로(hex_to_string)
16진수 문자열을 다시 변환하려면 일반 문자열로 변환하려면 hex_to_string을 사용하세요. 기능. 여기서 각 16진수 쌍은 정수로 변환되고 결과 정수는 연결되어 출력 문자열을 형성합니다.
std::string hex_to_string(const std::string& input) { const auto len = input.length(); if (len & 1) throw std::invalid_argument("odd length"); std::string output; output.reserve(len / 2); for (auto it = input.begin(); it != input.end(); ) { int hi = hex_value(*it++); int lo = hex_value(*it++); output.push_back(hi << 4 | lo); } return output; }
이를 통해 C에서 문자열과 16진수 데이터를 쉽게 변환할 수 있습니다. 다양한 프로그래밍 시나리오에 편리합니다.
위 내용은 C에서 문자열을 16진수로 변환하고 다시 되돌리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!