Menukar Rentetan Heksadesimal kepada Rentetan dalam C
Penukaran rentetan antara format teks perenambelasan dan standard memerlukan pendekatan yang mantap dalam C . Berikut ialah panduan terperinci:
Tukar Rentetan kepada Perenambelasan:
Fungsi string_to_hex() menawarkan penyelesaian mudah:
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; }
Tukar Heksadesimal kepada Rentetan:
Untuk menukar daripada perenambelasan kepada rentetan, fungsi hex_to_string() memastikan ketepatan:
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; }
Contoh Penggunaan:
Untuk menunjukkan kefungsian:
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;
Output:
Hexadecimal representation: 48656c6c6f20576f726c64 Recovered string: Hello World
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Antara Rentetan Heksadesimal dan Rentetan Piawai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!