有没有办法强制gcc对字符串文字使用latin1编码?我可以使用u8前缀来获取utf-8编码的字符串文字,但是如何使用iso 8859-1字符串文字?不要误解我,我不是在谈论源文件的编码
答案 0 :(得分:4)
+1到R..,但因为问题是关于gcc的具体:
您需要使用选项:
-fexec-charset=iso-8859-1
您可能还想使用-finput-charset
选项指定源文件的编码。最后,您可以指定宽字符的编码,但它确实非常不受推荐。
gcc manual中描述了所有这三个选项。
答案 1 :(得分:3)
如果要在源文件中包含latin1文字,则应直接使用\x
。可能还有其他方法,但它们依赖于非便携式选项来告诉编译器源文件的编码,并且您已经说过您不想更改源文件的编码。但实际上,这是2014年,而不是1994年。如果可能的话,你应该避免使用latin1,并且所有数据都采用Unicode编码。