我想写一个函数,它接受一个值参数(设定值x),然后生成ASCII表中x后面的字符的ASCII代码。例如,当我调用函数并将值"B“传递给函数时,函数将返回ASCII值"C”。
发布于 2019-07-06 09:47:24
发布于 2019-07-07 10:37:45
不,没有列表,至少没有直接列出。
如VB4/5/6/A/Script、C#、F#、Java、JavaScript、…,"Visual Basic“( Microsoft从2005年起称为Visual Basic)对其文本数据类型使用Unicode字符集的UTF-16字符编码。
Unicode以相同的顺序将ASCII码中的所有字符合并为具有相同值的Unicode的C0 Controls and Basic Latin块。
Visual Basic和.NET没有此类字符的列表。您可以注意到,它们都是由UTF-16在一个代码单元(Char
)中编码的,范围从&H0
到&H7F`。
因此,除了超出ASCII范围的末尾之外,您还可以在UTF-16上执行字符代码数字行运算,以获得相同的结果。代码注释将解释如何使用UTF-16数据类型来解决被描述为使用ASCII的问题。
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
https://stackoverflow.com/questions/56910644
复制相似问题