【发布时间】:2023-02-16 00:36:05
【问题描述】:
下面的 VB.net 代码在早期程序中可以正常使用 128 以上的字符 但它在当前的发展中引发了一个错误 看起来包含 128 个以上标准 Windows 字符的代码页已经在幕后消失了。值得庆幸的是,该代码在旧程序中仍然可以正常工作。
有任何想法吗 ?
Public QAZ, conv As String
Public SREP(200) As String
Public I, J As Integer
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
For I = 128 To 190
SREP(J) = Chr(I)
J = J + 1
Next
End Sub
尝试在建议中添加以下行。这停止了错误消息,但保留字符串数组为空。
Public SREP(200) As String
Public I, J As Integer
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
J = 0
For I = 128 To 190
SREP(J) = Chr(I)
J = J + 1
Next
End Sub
【问题讨论】:
-
VB.Net 使用的是 Unicode,而不是 ASCII + 代码页。此外,没有所谓的“标准”Windows 代码页。默认情况下,您在 Windows 中看到的内容取决于语言选项。这些都是每个配置文件,甚至在同一个 Windows 安装中,不同的用户也可能会看到这些字符的不同值。
标签: vb.net