用c++写一段程序 支持字符集转化 要求跨平台
时间: 2023-08-16 20:08:02 浏览: 215
可以使用 C++ 标准库提供的 `codecvt` 类来实现字符集转换。这个类是跨平台的,可以在 Windows、Linux、macOS 等系统上使用。
下面是一个示例程序,将 UTF-8 编码的字符串转换为 UTF-16 编码的字符串:
```cpp
#include <iostream>
#include <locale>
#include <codecvt>
int main() {
// 输入的字符串为 UTF-8 编码
std::string utf8_str = u8"Hello, world! 你好,世界!";
// 创建 UTF-16 编码的字符串输出流
std::wstring_convert<std::codecvt_utf16<wchar_t>> converter;
std::wstring utf16_str = converter.from_bytes(utf8_str);
// 输出 UTF-16 编码的字符串
std::wcout << utf16_str << std::endl;
return 0;
}
```
在 Visual Studio 等 IDE 中,需要将源代码保存为 UTF-8 编码的文件,否则会出现编译错误。
这个程序可以在 Windows、Linux、macOS 等系统上编译运行,并且可以支持不同的字符集转换。如果需要转换其他编码的字符串,只需要修改输入和输出的编码类型即可。
阅读全文