Asc()VB函数中的错误?

时间:2010-06-03 15:48:46

标签: vb.net string

你能告诉我为什么Asc()函数返回不正确的结果吗?

    Dim TestChar = Chr(128)
    Dim CharInt = Asc(TestChar) ' this is a mistake on Windows 7 x64. Asc(TestChar) returns 136 instead of 128

我在另一台计算机上执行了此代码,结果是128.

感谢。

3 个答案:

答案 0 :(得分:12)

您的计算机使用的是其他默认代码页。

Asc函数使用系统当前的ANSI代码页 Chr函数只是将值转换为char。 (除非它是> 255

答案 1 :(得分:2)

我刚刚在Windows 7 x64上使用Visual Studio 2010尝试了这个确切的代码并获得了128的预期值。我尝试了混合选项(推断,显式等等)并且值保持不变。你能否提供更多细节来帮助追踪这个问题?

Sub Main()
    Dim TestChar = Chr(128)
    Dim CharInt = Asc(TestChar)
    Console.WriteLine(CharInt)
    Stop
End Sub

答案 2 :(得分:1)

问题是我使用了不同的默认代码页。我把它改成了英文,代码工作得很好。 谢谢!

相关问题