如果在某个文本文件中,含有中文和英文,那么我要取前面 100 个字节的长度,该怎么做?如果用 Left(Text1.Text, 100),得到的则实际不是 100 个字节,因为 Left()无法识别中英文,如果都是中文,则实际 Left(Text1.Text, 100) 得到了 200 个字节。各位老大,我该怎么处理啊?

解决方案 »

  1.   

    API  lstrlen 可以区分中英文的长度,中文为2英文为1 
      

  2.   

    lstrlen() 可以得到实际的长度,或者用 LenB(StrConv(Text1.Text, vbFromUnicode)) 也可以达到实际效果,问题是:我要取前面 100 个字节的长度,我该怎么做,因为Left(Text1.Text, 100) 得到的不是真实的 100 个字节啊!
      

  3.   

    dim buff(99) as byte
    open filepath for binary as #1
    get #1,,buff
    close #1dim s as string
    s=strconv(buff,vbunicode)
      

  4.   

    感谢楼上的 rainstormmaster(rainstormmaster)您的方法是可以,但是我如果是要从 TEXT 里面读取,而不是从外部文件中读取(filepath),我该怎么做?
      

  5.   

    MsgBox LeftB("中华人民共和国", 6)
      

  6.   


    TEXT 里面读取的话,你就dim s as string
    s=strconv(text1.text,vbunicode)一样的阿