-
11-10-2019 - |
题
根据MSDN vb.net使用此扩展字符集. 。根据我的经验,它实际上使用了:
- 我想念什么?为什么它说它使用一个并使用另一个?
- 难道我做错了什么?
- 原始字符集是否有某种转换工具?
解决方案
此行为在文档的文档中定义 Chr
命令:
返回的值取决于当前线程的代码页,该线程包含在System.globalization名称空间中的TextInfo类的Ansicodepage属性中。您可以通过指定system.globalization.curlentureinfo.currentculture.textinfo.ansicodepage获得ansicodepage。
因此,输出 Chr
对于大于127的值是系统依赖性的。如果要可重现结果,请创建所需的实例 Encoding
通过打电话 encoding.getEncoding(string), ,然后使用 encoding.getchars(byte()) 将您的数字值转换为字符。
如果你 上一个级别 在您的问题中链接的图表中,您会发现它们不会声称此图表始终是 Chr
命令:
在127上方的Windows中出现的字符取决于所选字体。
本节中的图表显示了控制台应用程序的默认字符集。
您的应用程序是Winform应用程序,而不是控制台应用程序。即使在控制台中,使用的字符集也可以更改(例如,使用 chcp
命令),因此“默认”一词。
有关.NET中使用的编码的详细信息,我建议以下MSDN文章: 在.NET框架中编码的字符.
其他提示
第一个字符集是代码第437页(CP437),第二个看起来像Code Page 1252(CP1252),也称为Windows Latin-1。
我猜vb.net只是在拾取PC的默认编码。
不隶属于 StackOverflow