字符串长度问题

icedut 2003-12-11 11:37:18
变量a nvarchar
我想取出a的字节数

例如:a="武汉" lenb(a)=4 结果是对的
a="武韩SOGO" lenb(a)=12 就不对了阿(我想要的结果是8)

就像这种有汉字和字符的怎样能取出它的实际字节数呢
...全文
63 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
3661512 2003-12-11
  • 打赏
  • 举报
回复
有两个方式可以解决:

解法1: '假设欲计算字串 str1 的长度

Dim str1 As String
Dim i As Long
Dim c As Long
Dim n As Long
For i = 1 To Len(str1)
c = Asc(Mid(Str, i, 1))
If c >= 0 And c < 128 Then
n = n + 1 '计算英文
Else
n = n + 2 '计算中文
End If
Next i

解法2: Lenb(Strconv("abcd中英文混合字efg", vbFromUnicode))

SoHo_Andy 2003-12-11
  • 打赏
  • 举报
回复
MsgBox LenB(StrConv(a, vbFromUnicode))
zyl910 2003-12-11
  • 打赏
  • 举报
回复
VB的String才用的是UniCode字符集,无论是英文字符还是中文字符,都占一个字符两个字节
zyl910 2003-12-11
  • 打赏
  • 举报
回复
=lenb(strconv(a, vbfromunicode))

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧