将unicode字符串定义为字节数组
Define unicode string as byte array
假设我们有一个windows-1251编码的main.cpp文件,其内容如下:
int main()
{
wchar_t* ws = L"котэ"; //cat in russian
return 0;
}
如果我们在VisualStudio中编译它,一切都很好,但是我们要用GCC编译它,GCC的源代码默认编码是UTF-8。当然,我们可以转换文件编码或为编译器设置选项"- finputcharset =windows-1251",但如果不是呢?有一些方法可以通过将原始文本替换为十六进制UTF32字节来做到这一点:
int main()
{
wchar_t* ws = (wchar_t*)"x3Ax04x00x00x3Ex04x00x00x42x04x00x00x4Dx04x00x00x00x00x00x00"; //cat in russian
return 0;
}
但是有点奇怪:4个字母变成了20个字节(
)还能怎么做呢?
您需要的是使用GCC和vs都能理解的文件编码。在我看来,将文件保存为UTF-8编码是前进的方向。
另见:我如何使Visual Studio将所有文件保存为UTF-8而不需要在项目或解决方案级别上签名?
相关文章:
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 基于字节数组生成静态范围整数值
- 将字节数组转换为带有字节序问题的指针
- 找到一种有效的方法,在 2 个巨大的缓冲区上执行 MAX,每字节字节
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 字节数组初始化会导致 DirectX 崩溃
- 使用 swig 追加到字节数组
- C++ 替换字节数组中项的顺序
- QDataStream 读取和写入的字节数比 QFile::length() 报告要多
- 如何从保存在 Java 中C++的字节数组中读取数字?
- 如何通过libpq c api插入字节的数组
- i2c中的字节指针数组
- 以 C++ 为单位递增 16 字节字符数组
- new[] 一个包含构造函数的字节对象数组没有错,对吧?
- 创建未知长度的字节/字符数组
- 我如何将bitset转换为字节/uint8数组
- C++ <--> C# 修改字节编组数组
- 将m个字节的数组拆分为n个字节的块
- c++到c#:有3个元素的字节指针数组等于什么?