VB如何正常获取UTF-8中文字符串长度

例如:S = “ABC123中文”
用len(S)得到的是12,要怎么才能返回长度是8?

使用 System.Text.Encoding.UTF8.GetByteCount() 方法,获取字符串的字节数。

Dim byteCount As Integer = System.Text.Encoding.UTF8.GetByteCount(S)

使用 String.Length 属性,获取字符串的字符数(不是字节数)

Dim charCount As Integer = S.Length

使用 String.ToCharArray() 方法,将字符串转换为字符数组并获取数组长度

Dim charArr As Char() = S.ToCharArray()
Dim charCount As Integer = charArr.Length

请注意,这些方法都是在VB.NET中使用的。

望采纳!!!

调用 ToCharArray 然后取数组长度即可!!

S.Length就是字符数,汉字也算一个字符