Передача двоичных или строк в потоке

Я провожу небольшой эксперимент с 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 как на клиенте, так и на сервере. Это единственная разница? Что, если я просто прочитаю каждый байт, скомбинирую их в строку и отправлю? Я думаю, единственная разница будет заключаться в том, что не все байты являются строковыми символами, поэтому я бы просто добавил накладные расходы при преобразовании в String?

tl; dr -> В чем разница между двоичной передачей и передачей строки?

5
задан Mustafa 11 October 2011 в 17:59
поделиться