通过流进行二进制与字符串传输
2022-09-04 21:12:43
我正在用WebSockets和Java做一个小实验。显然,根据WebSocket的最后一稿,消息可以是二进制的,也可以是纯字符串。我使用Webbit服务器,它有两个功能:
public void onMessage(WebSocketConnection connection, String message)
public void onMessage(WebSocketConnection connection, byte[] message)
我想知道有什么区别。byte[] 更快吗?或者为什么这很重要?我可以用字节写入我写的所有内容,因为即使是字符串在传输时也会组合成字节,那么为什么我们有两个多种方法呢?只有Google Chrome 15 Beta和16 Dev支持二进制传输,所以我正在考虑在客户端和服务器上使用Base64编码/解码。这是唯一的区别吗?如果我只是读取每个字节,将它们组合成一个字符串并发送它们,该怎么办?我认为,唯一的区别是并非所有字节都是字符串字符,所以我在转换为字符串时只需添加开销即可?
tl;dr -> 二进制传输和字符串传输有什么区别?