标题说明了一切。基本上我使用TCP进行客户端 - 服务器设置,我想知道在通过tcp发送数据之前是否有将字符串转换为二进制文件的优势?通过字符串发送二进制数据包有优势吗?
1
A
回答
2
字符串是二进制数据或至少可以很容易地转换到这样的,字节[],与
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;
}
如果压缩/编码发送的数据,无论它开始时寿命为一个字符串或二进制数据你很可能会发送相同的总字节数。
+0
啊,评论者打败了我。说过同样的话! – MarcF 2013-03-12 20:15:06
1
在绝大多数情况下没有真正的优势。另外,二进制数据往往更依赖于平台,所以如果你想将你的客户端/服务器扩展到多平台环境,你最好不要使用字符串。
相关问题
- 1. 通过Python发送二进制数据通过套接字
- 2. 如何通过套接字发送/接收二进制数据?
- 3. 通过Websockets通过二进制数据发送布尔值和数字
- 4. 发送二进制数据
- 5. 通过WCF发送二进制数据:二进制VS MTOM编码
- 6. 通过SOAP发送二进制流
- 7. 通过RabbitMQ发送二进制文件
- 8. python字符串和二进制数据
- 9. 写的字符串二进制数据的二进制文件
- 10. 通过网络构建和发送二进制数据
- 11. 发送二进制数据为HTTP并通过防火墙
- 12. 无法通过unix tcp socket发送二进制数据
- 13. 如何通过HTTP发送二进制文章数据?
- 14. 我怎样才能发送二进制数据通过websocket safari5
- 15. 通过shell_exec发送二进制数据到php-cgi
- 16. 通过gevent websocket发送二进制数据
- 17. 为什么通过gSOAP发送二进制数据太慢?
- 18. 在Android上通过POST发送二进制数据Android
- 19. 阅读二进制数据与PHP通过TCP发送
- 20. 如何通过JQuery发送二进制数据Ajax PUT方法
- 21. 通过C socket发送原始二进制数据?
- 22. 通过HTTP POST发送二进制文本和文本数据
- 23. 通过socket发送的图像作为二进制数据
- 24. 通过IPC从C发送到Python的二进制数据
- 25. Windows IPC:我可以通过匿名管道发送二进制数据吗?
- 26. JavaScript包(“d”) - 二进制字符串
- 27. 通过Python中的套接字发送原始二进制数据3
- 28. 如何通过Java套接字以二进制形式发送数据?
- 29. 在Flex中通过二进制套接字发送字符零“\ 0”
- 30. 是否有通过HTTP,HTTP隧道发送二进制数据的Java库?
字符串是二进制的。他们通常被认为是人类可读的。 – 2013-03-12 20:10:48
所以没关系。我猜想将字符串转换为二进制文件会浪费处理能力,对吗? – pandoragami 2013-03-12 20:11:27
取决于。如果你的字符串是十六进制值的文本表示,例如'$ txt ='0x12 0x23 0x34'等等,你可以通过转换为原始数值来保存几个字节,发送3个字节而不是14个。 – 2013-03-12 20:12:41