如何求中文字符串的字节数?

y102 2006-03-29 03:01:28
如:dim a as string="工厂"
如何求a串的长度为4,而非2呢?
...全文
182 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
y102 2006-03-31
  • 打赏
  • 举报
回复
我试了一下System.Text.UTF8Encoding.UTF8.GetByteCount(a)返回7?
李必胜 2006-03-31
  • 打赏
  • 举报
回复
System.Text.Encoding.GetEncoding("gb2312").GetByteCount(a)
lushawen 2006-03-29
  • 打赏
  • 举报
回复
真是的,这么简单的问题何须搞那么多:
dim a as string="a工厂"
dim result as integer=System.Text.UTF8Encoding.UTF8.GetByteCount(a)
return result=5
copico 2006-03-29
  • 打赏
  • 举报
回复
哎.
myderek 2006-03-29
  • 打赏
  • 举报
回复
System.Text.Encoding.Default.GetBytes("a工厂")
copico 2006-03-29
  • 打赏
  • 举报
回复
你是想要这种效果吗?
Dim str As String = TextBox1.Text
Dim b() As Byte = System.Text.Encoding.Unicode.GetBytes(str)
Dim i As Integer
Dim bb(100) As Byte
Dim t As Integer = 0
Dim j As Integer
For j = 0 To b.Length - 1
If b(j) <> 0 Then
bb(t) = b(j)
t = t + 1
End If
Next
MsgBox(t.ToString())
y102 2006-03-29
  • 打赏
  • 举报
回复
dim a as string="a工厂"
如何求a串的长度为5,而非3呢?
copico 2006-03-29
  • 打赏
  • 举报
回复
当然
因为两种表示方式
y102 2006-03-29
  • 打赏
  • 举报
回复
但是英文“a”的长度也变成2了。
intern9901 2006-03-29
  • 打赏
  • 举报
回复
1楼的就可以了阿
copico 2006-03-29
  • 打赏
  • 举报
回复
LenB是vb里的,.net没有
astly2004 2006-03-29
  • 打赏
  • 举报
回复
LenB
copico 2006-03-29
  • 打赏
  • 举报
回复
Dim str As String = TextBox1.Text
Dim bt() As Byte
bt = System.Text.Encoding.Unicode.GetBytes(str)
MsgBox(bt.Length())

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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