在字符串上发送二进制数据包是否有优势?

时间:2013-03-12 20:09:52

标签: string binary client-server packet tcp-ip

标题说明了一切。基本上我使用TCP进行客户端 - 服务器设置,我想知道在通过tcp发送数据之前是否有将字符串转换为二进制的优势?

2 个答案:

答案 0 :(得分:2)

字符串是二进制数据,或者至少可以使用

轻松转换为byte []
static byte[] GetStringBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}

如果您压缩/编码您发送的数据,无论它是以字符串还是二进制数据开始,您很可能会发送相同的总字节数。

答案 1 :(得分:1)

在绝大多数情况下没有真正的优势。此外,二进制数据往往更依赖于平台,因此如果您想将客户端/服务器扩展到多平台环境,那么最好不要使用字符串。