标题说明了一切。基本上我使用TCP进行客户端 - 服务器设置,我想知道在通过tcp发送数据之前是否有将字符串转换为二进制的优势?
答案 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)
在绝大多数情况下没有真正的优势。此外,二进制数据往往更依赖于平台,因此如果您想将客户端/服务器扩展到多平台环境,那么最好不要使用字符串。