返回与指定字符代码相关联的字符。
Public Function Chr(ByVal CharCode As Integer) As Char
Public Function ChrW(ByVal CharCode As Integer) As Char
参数
CharCode
必选。Integer 表达式,表示字符的“码位”或字符码。如果 CharCode 不在有效范围之内,将发生 ArgumentException 错误。Chr 的有效范围是 0 到 255,而 ChrW 的有效范围是 -32768 到 65535。
异常
异常类型 错误号 条件
ArgumentException
5
CharCode < -32768 或 > 65535(对于 ChrW)。
ArgumentException
5
CharCode < 0 或 > 255(对于 Chr)。
如果正在升级使用无结构错误处理的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象)比较错误号。)然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述替换这种错误控制。
数据类型
CharCode 接受的不对称范围补偿 Short 数据类型 (Visual Basic) 和 Integer 数据类型 (Visual Basic) 之间的存储差异。例如,-29183 为 Short,但 +36353 为 Integer。这也有利于与 Visual Basic 6.0 兼容。
Chr 使用 System.Text 命名空间中的 Encoding 类来确定当前线程使用的是单字节字符集 (SBCS) 还是双字节字符集 (DBCS)。然后将 CharCode 作为相应字符集中的码位。对于 SBCS 字符,范围为 0 到 255,对于 DBCS 字符,范围为 -32768 到 65535。有关单字节 ASCII 字符的图表,请参见 ASCII 字符代码。
返回值取决于当前线程的代码页,该代码页包含在 System.Globalization 命名空间中 TextInfo 类的 ANSICodePage 属性中。通过指定 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage 可以获得 ANSICodePage。
ChrW 以 CharCode 作为 Unicode 码位。其范围与当前线程的区域性和代码页设置无关。-32768 到 -1 范围内的值的处理方式与 +32768 到 +65535 范围内的值相同。
从 0 到 31 的数字与标准的非打印 ASCII 码相同。例如,Chr(10) 返回换行符。
注意
Visual Basic 早期版本中的 ChrB 函数返回一个单字节。它主要用于在双字节字符集 (DBCS) 应用程序中转换字符串。Visual Basic 和 .NET Framework 中的所有字符串均采用 Unicode 的形式,并且不再支持 ChrB。
示例
下面的示例使用 Chr 函数返回与指定的字符码相关联的字符。
Visual Basic 复制代码
Dim associatedChar As Char
' Returns "A".
associatedChar = Chr(65)
' Returns "a".
associatedChar = Chr(97)
' Returns ">".
associatedChar = Chr(62)
' Returns "%".
associatedChar = Chr(37)
要求
命名空间: Microsoft.VisualBasic
模块: Strings
程序集: Visual Basic Runtime Library(在 Microsoft.VisualBasic.dll 中)
Chr 函数返回与指定的 ANSI 字符代码相对应的字符。
Chr(charcode
)
charcode参数是可以标识
字符的数字。
说明从 0 到 31 的数字表示标准的不可打印的
ASCII代码。例如,
Chr(10
)返回换行符。
下面例子利用
Chr函数返回与指定的字符代码相对应的字符:
Dim MyCharMyChar =
Chr(65
) '返回 A。MyChar =
Chr(97
) '返回 a。MyChar =
Chr(62
) '返回 >。MyChar =
Chr(37
) '返回 %。
注意 ChrB函数与包含在字符串中的字节数据一起使用。
ChrB不是返回一个或两个字节的字符,而总是返回单个字节的字符。
ChrW是为使用 Unicode 字符的 32 位平台提供的。它的参数是一个 Unicode (宽字符)的字符代码,因此可以避免将 ANSI 转化为 Unicode 字符。