C에서 16진수 문자열을 문자열로 변환
16진수와 표준 텍스트 형식 간의 문자열 변환에는 C에서 강력한 접근 방식이 필요합니다. 자세한 안내는 다음과 같습니다.
문자열을 16진수로 변환:
string_to_hex() 함수는 간단한 솔루션을 제공합니다.
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진수를 다음으로 변환 문자열:
16진수를 문자열로 변환하는 경우 hex_to_string() 함수가 정확성을 보장합니다.
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; }
사용 예:
시연하기 위해 기능:
std::string original_string = "Hello World"; std::string hex_string = string_to_hex(original_string); std::cout << "Hexadecimal representation: " << hex_string << std::endl; std::string recovered_string = hex_to_string(hex_string); std::cout << "Recovered string: " << recovered_string << std::endl;
출력:
Hexadecimal representation: 48656c6c6f20576f726c64 Recovered string: Hello World
위 내용은 C에서 16진수 문자열과 표준 문자열을 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!