如何获取系统的区域设置支持的代码集列表?

时间:2016-06-02 12:52:06

标签: c++ character-encoding locale extended-ascii

对于给定的区域设置,请说" en_US"可以有几个codesets(也称为#34;字符编码"我相信。)

例如:" en_US"以下代码集可能有效:

  1. " en_US.ASCII"
  2. "的en_US.UTF-8"
  3. " en_US.iso88591"
  4. 有没有办法从我的系统中获取这些列表?老实说,我真正想要的是一个代码集,如果存在这样的话,它将处理扩展的ASCII。

1 个答案:

答案 0 :(得分:0)

在Windows上,该函数将是EnumSystemLocalesEx,但从技术上讲,它为您提供了Windows语言环境,而不是C ++编译器可用的语言环境。对于Visual Studio,请参阅here。要匹配* A系列Windows函数所需的“扩展ASCII”,请使用“.ACP”作为代码集。

请注意,可以有多种方法来引用相同的区域设置。特别是,.ACP总是引用一个也有数字的代码页,但该数字依赖于语言。例如,“gr.ACP”和“jp.ACP”使用不同的代码页。那是因为希腊和日本对“扩展ASCII”有不同的看法。