根据MSDN VB.NET使用此扩展字符集。根据我的经验,它实际上使用了这个:
- 我错过了什么?为什么它说使用了一个并使用了另一个?
- 我做错了什么吗?
- 是否有某种转换工具可以将原始字符集转换为其他字符集?
Chr
命令 的文档中有定义:
因此,大于 127 的值的返回的值取决于当前线程的代码页,该代码页包含在 System.Globalization 命名空间中 TextInfo 类的 ANSICodePage 属性中。您可以通过指定 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage 来获取 ANSICodePage。
Chr
输出是与系统相关的。如果您想要可重现的结果,请通过调用 Encoding.GetEncoding(String) 创建所需的 Encoding 实例,然后使用 Encoding.GetChars(Byte()) 将数值转换为字符。Chr
命令的输出:
您的应用程序是一个 WinForm 应用程序,而不是控制台应用程序。即使在控制台中,所使用的字符集也可以更改(例如,通过使用出现在 Windows 中的大于 127 的字符取决于所选字体。
本节中的图表显示控制台应用程序的默认字符集。
chcp
命令),因此出现了 "默认" 这个词。你是怎么写出这个的?因为通常情况下,当你使用输出流函数时,你可以指定相应的编码。
编辑:我知道这不是C#,但你可以看到这个想法...
你需要设置文件流的编码,可以通过以下方式实现: 创建文件流时设置编码