如:
Dim Tekens As String * 100  
Aantal = recv(Sock, ByVal Tekens, 100, 0)    
有时候 到99是一个汉字的结束 在100和101是一个汉字 
这样接收的话就回出现乱码  
请问有什么解决的办法

解决方案 »

  1.   

    接收时不要使用String,而转用Byte数组,即使是字符串,接收完在之后再传递给String变量。
      

  2.   

    你是否采用传统的ASCII的编码方式来通讯(一个中文用两个字节来发送),出现这种问题说明发送方并不一定准确发送100个字节,可能是是100,也可能是101 个字节。
    解决方法:在接收第100个字节时,判断它是否汉字编码,不是则结束,是则多接收一个。
      

  3.   

    也可以发送前先用BASE64之类加密
    然后接收后解密
      

  4.   

    不能用固定的字符串进行接收。
    通常的做法是用byte()数组接收,然后再StrConv 函数转换成字符。
      

  5.   

    但是我用byte()数组  编译通不过啊Dim ReadBuffer(1 To 1024) As String * 1024
     Aantal = recv(Sock, ReadBuffer(1), 1024, 0)提示:Type Mismatch
    谁可以给我写一个完整点的代码 在这里
      

  6.   

    但是我用byte()数组  编译通不过啊Dim ReadBuffer(1 To 1024) As String * 1024
     Aantal = recv(Sock, ReadBuffer(1), 1024, 0)提示:Type Mismatch
    谁可以给我写一个完整点的代码 在这里
      

  7.   

    上面写错了 
    应该是这样Dim ReadBuffer(1 To 1024) As byte Aantal = recv(Sock, ReadBuffer(1), 1024, 0)提示:Type Mismatch
    另外怎么判断是汉字编码啊?