文字列を 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 進データの間で簡単に変換できるようになります。さまざまなプログラミング シナリオに便利です。
以上が文字列を 16 進数に変換して C に戻すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。