使用 gcc 将字符串文字的编码设置为 latin1
Posted
技术标签:
【中文标题】使用 gcc 将字符串文字的编码设置为 latin1【英文标题】:set encoding of string literals to latin1 with gcc 【发布时间】:2014-08-03 18:35:53 【问题描述】:有什么方法可以强制 gcc 对字符串文字使用 latin1 编码?我可以使用 u8 前缀来获取 utf-8 编码的字符串文字,但是如何使用 iso 8859-1 字符串文字?不要误会,我说的不是源文件的编码
【问题讨论】:
如果你想要一个特定的字符串文字编码,你肯定想要设置源文件的编码,因为字符串文字在源文件中。 【参考方案1】:如果你想在源文件中包含 latin1 文字,你应该直接使用\x
。可能还有其他方法,但它们依赖于不可移植的选项来告诉编译器源文件的编码,并且您已经说过您不想更改源文件的编码。但实际上,这是 2014 年,而不是 1994 年。您应该尽可能避免使用 latin1,并将所有数据采用 Unicode 编码。
【讨论】:
【参考方案2】:+1 到 R.. 但由于问题是关于 gcc 的:
您需要使用选项:
-fexec-charset=iso-8859-1
您可能还想使用-finput-charset
选项指定源文件的编码。最后,您可以指定宽字符的编码,但非常不推荐。
gcc manual 中描述了所有这三个选项。
【讨论】:
以上是关于使用 gcc 将字符串文字的编码设置为 latin1的主要内容,如果未能解决你的问题,请参考以下文章