c++ string 和 十六进制相互转换代码
时间: 2024-08-04 07:00:59 浏览: 165
ASCII和十六进制相互转换程序
在C++中,可以使用以下方法将字符串(string)与十六进制数进行相互转换:
1. 将字符串转换为十六进制数:
```cpp
#include <iostream>
#include <sstream>
#include <string>
std::string stringToHex(const std::string& input) {
std::ostringstream oss;
for (char c : input) {
oss << std::hex << static_cast<int>(c);
}
return oss.str();
}
int main() {
std::string str = "Hello, World!";
std::string hexStr = stringToHex(str);
std::cout << "Hexadecimal representation: " << hexStr << std::endl;
return 0;
}
```
2. 将十六进制数转换为字符串:
```cpp
#include <iostream>
#include <sstream>
#include <string>
std::string hexToString(const std::string& hexInput) {
std::istringstream iss(hexInput);
std::ostringstream oss;
int value;
while (iss >> std::hex >> value) {
oss << static_cast<char>(value);
}
return oss.str();
}
int main() {
std::string hexStr = "48656c6c6f2c20576f726c6421";
std::string str = hexToString(hexStr);
std::cout << "Original string: " << str << std::endl;
return 0;
}
```
这两个代码示例分别实现了字符串到十六进制数的转换和十六进制数到字符串的转换。
阅读全文