我需要将二进制数据转换为字符串。

我有以下代码:

var ws = new WebSocket(url);
ws.binaryType = 'arraybuffer';
ws.on('message', function(body) {
  console.log(body);
  console.log(body.toString());
});


我进入控制台:

ArrayBuffer { byteLength: 266 }
[object ArrayBuffer]


从下一个代码:

var ws = new WebSocket(url);
ws.on('message', function(body) {
  console.log(body);
  console.log(body.toString());
});


我有:

<Buffer 1f 8b 08 00 00 00 00 00 00 00 5d 92 c1 4b 1b 41 14 c6 bf 37 9b 51 82 84 a2 29 88 86 45 f1 50 2f 12 77 d5 54 14 d4 80 07 8f ... >


像这样:

4ƿ7�Q���)��E�P/w�TԀ�JB[�B�S4�VA��Pza/"=ToC��[Ͻ�'Z�Z�^���7wXv�7�|�͛I@�^~��J�G��c�ʴ�Co�<��_70K1���~����iY31;��zc��<B���Q��~�+�F��_M(= N^I��}BU?U�̲��)���L���=,p��1\��8�[���[c�S]K����ܖIy.���Ơg\q��T���R�
���������8��#O;����f���n9z��CF:��Y��Xfl��--��U�QM�z�d֧�Ó�H�                                                      �}1yć�f�C����/2��"�TH���ԅʛ�w)E�R4


在浏览器中,我得到了:

https://i.imgur.com/0aMnsQy.png

最佳答案

您的问题只是:我需要将二进制数据转换为字符串,对吗?

在这里看看:Converting between strings and ArrayBuffers

关于node.js - 如何从Node.js中的Websocket接收二进制数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50221319/

10-11 06:59