gpt4 book ai didi

windows - 如何将 encodingName 转换为 codePage 标识符?

转载 作者:可可西里 更新时间:2023-11-01 10:12:13 34 4
gpt4 key购买 nike

给定一个编码名称,我怎样才能得到相应的 codePage identifier?

例如:

  • “iso-8859-1”:28591
  • “windows-1252”:1252
  • “IBM500”:500
  • “utf-16le”:1200
  • “utf-8”:65001

假设用例: Windows 函数 MultiByteToWideChar只需要一个 CodePage,而我只有一个 encodingName .

EnumSystemCodePages返回字符串列表,而不是代码页标识符(因此您不能将它们传递给 GetCPInfo )。

红利阅读

最佳答案

您所要求的没有 Win32 API。

如果可以使用 .NET,则可以创建 System.Text.Encoding 的对象实例使用 Encoding.GetEncoding(String) 来自编码名称的类方法,然后你可以阅读它的CodePage属性(property)。

否则,您可以查看以下注册表项:

HKEY_CLASSES_ROOT\MIME\Database\Codepage
HKEY_CLASSES_ROOT\Mime\Database\Charset

但是,请注意注册表中存在一些不准确之处。例如,iso-8859-1 被映射到代码页 1252,而不是更受欢迎的 28591。

否则,您只需根据需要在代码中创建自己的查找表。

关于windows - 如何将 encodingName 转换为 codePage 标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53747481/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com