C++ 使用gcc将字符串文字的编码设置为latin1
有没有办法强制gcc对字符串文本使用拉丁1编码?我可以使用u8前缀来获取utf-8编码的字符串文字,但如何使用iso 8859-1字符串文字?请不要误解我的意思,我不是在说源文件的编码如果你想在源文件中包含拉丁语文字,你应该直接使用C++ 使用gcc将字符串文字的编码设置为latin1,c++,c,encoding,iso-8859-1,latin1,C++,C,Encoding,Iso 8859 1,Latin1,有没有办法强制gcc对字符串文本使用拉丁1编码?我可以使用u8前缀来获取utf-8编码的字符串文字,但如何使用iso 8859-1字符串文字?请不要误解我的意思,我不是在说源文件的编码如果你想在源文件中包含拉丁语文字,你应该直接使用\x。可能还有其他方法,但它们依赖于不可移植的选项来告诉编译器源文件的编码,并且您已经说过不想更改源文件的编码。但实际上,这是2014年,而不是1994年。如果可能的话,您应该避免使用拉丁语1,并且所有数据都采用Unicode编码。+1到,但由于问题是关于gcc的:
\x
。可能还有其他方法,但它们依赖于不可移植的选项来告诉编译器源文件的编码,并且您已经说过不想更改源文件的编码。但实际上,这是2014年,而不是1994年。如果可能的话,您应该避免使用拉丁语1,并且所有数据都采用Unicode编码。+1到,但由于问题是关于gcc的:
您需要使用以下选项:
-fexec-charset=iso-8859-1
您可能还希望使用-finput charset
选项指定源文件的编码。最后,您可以指定宽字符的编码,但这确实是非常不推荐的
这三个选项都在中介绍。如果您想要对字符串文字进行特定编码,您最肯定的是要设置源文件的编码,因为字符串文字在源文件中。