我们假设我们在windows-1251编码中使用以下内容编辑main.cpp:
int main()
{
wchar_t* ws = L"котэ"; //cat in russian
return 0;
}
如果我们在VisualStudio中编译它,一切都很好,但我们要用GCC编译它,源代码的默认编码是UTF-8。当然我们可以转换文件编码或设置选项" -finput-charset = windows-1251"对于编译器,但如果不是?有一些方法可以将原始文本替换为十六进制UTF32字节:
int main()
{
wchar_t* ws = (wchar_t*)"\x3A\x04\x00\x00\x3E\x04\x00\x00\x42\x04\x00\x00\x4D\x04\x00\x00\x00\x00\x00\x00"; //cat in russian
return 0;
}
但它有点敏捷:4个字母变成20个字节((
怎么办呢?
答案 0 :(得分:1)
您需要的是使用GCC和VS都能理解的文件编码。在我看来,以UTF-8编码保存文件是前进的方向。
另见:How can I make Visual Studio save all files as UTF-8 without signature on Project or Solution level?