在印度,Windows的默认字符编码是什么?

本文关键字:字符 编码 是什么 默认 Windows | 更新日期: 2023-09-27 18:18:35

我知道西欧Windows的默认编码是ISO-8859-1, web标准的默认编码是UTF8,但我希望(谷歌让我失望)有人知道印度Windows/Visual Studio/c#软件的默认编码?

原因是我们有一家印度公司联系我们的web服务并获得解析异常,我怀疑他们没有设置正确的编码(为UTF8),但使用英文Windows默认(ISO-8859-1)进行测试工作,所以我正在调查替代方案。

在印度,Windows的默认字符编码是什么?

我可能是错的,但是经过一些研究,我得出结论,如果他们不使用en_IN语言环境,他们没有GUI或控制台的代码页。

这个MS官方源代码将印地语代码页列为0。

这个列表的随机副本表示印地语是唯一的unicode区域设置。

IANA声明代码页号0,1和2是保留的。

这里我们有一个Moodle开发人员发现,虽然他可以在大多数地区使用专门的文本文件代码页,但他们不得不在印地语地区使用UTF-8(又名代码页65001)文本文件-这些文件在大多数其他版本的Windows中被称为"Unicode文件"。

这里我们有另一个开发人员发现印地语没有默认代码页。

根据MSDN,所有对语言环境敏感的函数默认为C语言环境,这意味着8位字符串的ASCII。

:

  1. 没有Unicode就不能输入Hindi

  2. 印地语区域设置可能将8位字符串中>=128的所有字节视为无效字符,而在Windows-1252中大多数都是有效的;我猜应用程序执行太多的转换字节文本没有考虑编码(或那些印度人做)

  3. 最后,印度的其他语言也没有ANSI代码页

我现在用的是Linux,但如果可以的话,我建议你在不同的环境下通过Applocale运行程序。我推荐使用印地语、日语和土耳其语,因为它们最有可能发现bug。

但我敢打赌,他们从网上读取XML,用默认编码转换成字符串,然后它爆炸了