VB.net中是否有包含ascii值列表的函数

VB.net中是否有包含ascii值列表的函数,ascii,Ascii,我想写一个函数,它接受一个值参数(让值为x),然后生成ASCII表中x后面的字符的ASCII码。例如,当我调用该函数并将值“B”传递给该函数时,该函数将返回ASCII值“C”是,请尝试: 与之相反的是 是的,请尝试: 与之相反的是 不,没有列表,至少没有直接列出 与VB4/5/6/A/Script、C#、F#、Java、JavaScript等类似,“Visual Basic”(自2005年起被Microsoft称为)使用Unicode字符集的UTF-16字符编码作为其文本数据类型 Unicode

我想写一个函数,它接受一个值参数(让值为x),然后生成ASCII表中x后面的字符的ASCII码。例如,当我调用该函数并将值“B”传递给该函数时,该函数将返回ASCII值“C”

是,请尝试:

与之相反的是

是的,请尝试:

与之相反的是


不,没有列表,至少没有直接列出

与VB4/5/6/A/Script、C#、F#、Java、JavaScript等类似,“Visual Basic”(自2005年起被Microsoft称为)使用Unicode字符集的UTF-16字符编码作为其文本数据类型

Unicode将ASCII中的所有字符合并为具有相同顺序相同值的Unicode块

Visual Basic和.NET没有此类字符的列表。您可以注意到,它们都由UTF-16编码在一个代码单元(
Char
)中,范围从
&H0
到&H7F`

因此,除了超出ASCII范围之外,您可以在UTF-16上执行字符代码行算术,以获得相同的结果。代码注释将解释如何使用UTF-16数据类型解决一个被描述为使用ASCII的问题



没有,没有列表,至少没有直接列出

与VB4/5/6/A/Script、C#、F#、Java、JavaScript等类似,“Visual Basic”(自2005年起被Microsoft称为)使用Unicode字符集的UTF-16字符编码作为其文本数据类型

Unicode将ASCII中的所有字符合并为具有相同顺序相同值的Unicode块

Visual Basic和.NET没有此类字符的列表。您可以注意到,它们都由UTF-16编码在一个代码单元(
Char
)中,范围从
&H0
到&H7F`

因此,除了超出ASCII范围之外,您可以在UTF-16上执行字符代码行算术,以获得相同的结果。代码注释将解释如何使用UTF-16数据类型解决一个被描述为使用ASCII的问题



注:虽然
Asc
Chr
适用于ASCII字符代码,但它们对字符代码0到255进行操作。128-255的解释取决于用户计算机当时的当前用户设置,这几乎从来都不是您想要的。因此,
Asc
Chr
是危险信号。OP特别询问了ASCII字符,而不是扩展ASCII。是的,但.NET不直接支持这两种字符(编码或解码字节数组除外)。AscW和ChrW同样适用于ASCII,但不会受到Asc和Chr不必要的“适应性”的影响。因此,不应推广Asc和Chr的使用,除非在极少数情况下,它们正是需要的。在这种情况下,这些都不是问题。一点也不是。您正在向某人传授这些函数,但却忽略了它们存在的原因,这也极有可能导致误解和误用,同时还有非常好的替代方法。注意:虽然
Asc
Chr
适用于ASCII字符码,但它们对字符码0到255进行操作。128-255的解释取决于用户计算机当时的当前用户设置,这几乎从来都不是您想要的。因此,
Asc
Chr
是危险信号。OP特别询问了ASCII字符,而不是扩展ASCII。是的,但.NET不直接支持这两种字符(编码或解码字节数组除外)。AscW和ChrW同样适用于ASCII,但不会受到Asc和Chr不必要的“适应性”的影响。因此,不应推广Asc和Chr的使用,除非在极少数情况下,它们正是需要的。在这种情况下,这些都不是问题。一点也不是。你在教别人这些功能,但却忽略了它们存在的原因,这也极有可能导致误解和误用,而所有这些都有很好的替代方案。这种试图给出答案的尝试是非常不准确的。这种试图给出答案的尝试是非常不准确的。
Strings.Asc("B") + 1
Function Succ(C As Char) As Char
    Dim utf16 = AscW(C)

    ' Intent is to use this method only for "ASCII" characters, which have the same values in UTF-16 code units.
    If utf16 >= &H7F Then Throw New ArgumentOutOfRangeException(Nameof(C), "Result must be within the C0 Controls and Basic Latin block.") 

    Return ChrW(utf16 + 1)
End Function