作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
给定一个编码名称,我怎样才能得到相应的 codePage identifier?
例如:
28591
1252
500
1200
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/
我是一名优秀的程序员,十分优秀!