使用gcc将字符串文字的编码设置为latin1

时间:2014-08-03 18:35:54

标签: c++ c encoding iso-8859-1 latin1

有没有办法强制gcc对字符串文字使用latin1编码?我可以使用u8前缀来获取utf-8编码的字符串文字,但是如何使用iso 8859-1字符串文字?不要误解我,我不是在谈论源文件的编码

2 个答案:

答案 0 :(得分:4)

+1到R..,但因为问题是关于gcc的具体:

您需要使用选项:

-fexec-charset=iso-8859-1

您可能还想使用-finput-charset选项指定源文件的编码。最后,您可以指定宽字符的编码,但它确实非常不受推荐。

gcc manual中描述了所有这三个选项。

答案 1 :(得分:3)

如果要在源文件中包含latin1文字,则应直接使用\x。可能还有其他方法,但它们依赖于非便携式选项来告诉编译器源文件的编码,并且您已经说过您不想更改源文件的编码。但实际上,这是2014年,而不是1994年。如果可能的话,你应该避免使用latin1,并且所有数据都采用Unicode编码。