Private Sub Command1_Click()
    Dim i As Integer
    For i = 1 To Len(Text1.Text)
        Debug.Print Mid$(Text1.Text, i, 1)
    Next i
End Sub

解决方案 »

  1.   

    skydy:你这样使得到每一个字符,而非字节
    chenangle:怎么转换?用cbyte不行呀
      

  2.   

    vb里面没有直接操作字节的函数,cbyte 是转为byte类型,byte是0—126的整数,所以当然不行了,
    你能说清楚你要做什么吗?
      

  3.   

    无法操作字节,除非:
    Dim b() As Byte
     
    b = yourString
    即可从b数组得到每一字节,但他已经不是字符了。
    只能在VB6中支持此语法
      

  4.   

    有一笨办法,即对单字节字符和双字节字符分别处理:'把Text1的字符串按字节在Text2中显示
    Private Sub Command1_Click()
        Dim s As Long
        For i = 1 To Len(Text1.Text)
            s = Asc(Mid$(Text1.Text, i, 1))
            If s < 0 Then
                s = 65536 + s
                Text2.Text = Text2.Text + Str(s \ 256) + " "
                Text2.Text = Text2.Text + Str(s Mod 256) + " "
            Else
                Text2.Text = Text2.Text + Str(s) + " "
            End If
        Next i
    End Sub
      

  5.   

    ninputer(装配脑袋):
    无法操作字节,除非:
    Dim b() As Byteb = yourString
    即可从b数组得到每一字节,但他已经不是字符了。
    只能在VB6中支持此语法 那怎样得到b的大小呢?
      

  6.   

    Private Sub Command1_Click()
        Dim i As Integer
        For i = 1 To LenB(Text1.Text)
            Debug.Print MidB$(Text1.Text, i, 1)
        Next i
    End Sub
      

  7.   

    我来告诉你,具体过程如下:
    假设字符串是jj
    Dim jj As String
    Dim n As Integer
    jj = "abcde"'假设字符串是abcde(你自己可以换,jj可以是变量)
    n = Len(jj)
    Dim j(1000) '括号里的数必须>字符串的字节数,由于VB不支持dim j(n)出现,所以把那个数定的大一点就行
    For i = 1 To n
    j(i) = Mid(jj, i, 1)
    MsgBox j(i) '告诉你字符串的没一个字节
    Next i我测试过,好用:)
      

  8.   

    再vb中字符串的存储方式为unicode编码,要进行单字节的操作需要使用strconv转换成ansi的编码
      

  9.   

    dim strXXX as String
    dim i as integer
    dim byArr() as bytebyArr=strconv(strXXX,vbFromUnicod)
    for i=LBOUND(byArr) to UBOUND(byArr)
        debug.print byarr(i)
    next
      

  10.   

    可以使用strconv函数将vb的unicode编码转换成ascii编码后,就好处理了
      

  11.   

    使用CopyMemory API函数例如dim ss as string
    dim sb(1024) as byte
    ss="abcdefg"CopyMemory sb(0),byval strptr(ss),len(ss)*2
      

  12.   

    我来告诉你,具体过程如下:
    假设字符串是jj
    Dim jj As String
    Dim n As Integer
    jj = "abcde"'假设字符串是abcde(你自己可以换,jj可以是变量)
    n = Len(jj)
    Dim j(1000) '括号里的数必须>字符串的字节数,由于VB不支持dim j(n)出现,所以把那个数定的大一点就行
    For i = 1 To n
    j(i) = Mid(jj, i, 1)
    MsgBox j(i) '告诉你字符串的没一个字节
    Next i我测试过,好用:)