使用c++ 写一个编码转换
时间: 2023-07-30 13:07:09 浏览: 50
C或C++的编码转换函数
好的,这里给您提供一个使用C++实现编码转换的简单示例。使用此示例,您可以将UTF-8编码的字符串转换为GBK编码的字符串。示例代码如下:
```cpp
#include <iostream>
#include <string>
#include <codecvt>
int main() {
// Sample UTF-8 encoded string
std::string utf8String = "你好,世界!";
// Convert UTF-8 to wide string (UTF-16)
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
std::wstring wideString = converter.from_bytes(utf8String);
// Convert wide string to GBK encoded string
std::wstring_convert<std::codecvt<wchar_t, char, std::mbstate_t>> wconv;
std::string gbkString = wconv.to_bytes(wideString);
std::cout << "UTF-8 string: " << utf8String << std::endl;
std::cout << "GBK string: " << gbkString << std::endl;
return 0;
}
```
代码中使用了 `<codecvt>` 标准库,它提供了一组可用于编码转换的类和函数。示例代码中将UTF-8编码的字符串转换为了宽字符串(UTF-16),然后将宽字符串转换为GBK编码的字符串。如果您需要将其他编码的字符串转换为其他编码,请更改代码中的转换器类型和参数。
阅读全文