javascript - 膨胀来自 websocket API 的响应

标签 javascript encryption websocket inflate pako

我从 websocket 端点收到以下消息,并且想知道如何填充该消息并获取 json。响应来自加密货币 websocket api。我通常使用 pako,但无法让 pako 充气以下

回应

["78da6552cb8ac3300cfc17c39e3618c5b22dbbbf524a48936c6bfa2471d943e9bfafbd7152418f9a198d9e4fb10ffd2436dbadb0ca0180a844ad2428f4646b952 3b1ab3249662619648b5e1a4f5a6bf08c33b31ca4331c9d338cf486bc43c5393d67e854dc32184b5d2b019df60a1d27df7ebc3135e728e018147b67c1794745bfab 443b9dca06b25d1621cada594fc8264258fbb36955889a71f5624e8ea006eb38b76ea2b60eade35c694ae93c1cc79701d8045886454948356a438cd3508ad8345d5a2537 d34b036c45582ea15102696335b9751f97763c0db1e9dbd88acd53748f711caeb199c2e12a36e23be97ec238c5e63e866e4888f1e511b262e89b3e4cb1bdfe53a8aa 993ab72c61fdb4d36ddc87d82c15f6b15b35993e86c3f19d64ca079e6fbfac74b94afae24ffb74d837b8dc767a5c5248e9be52a577fa6cbbb977315b4ba42ff17afd018426bb 16"]

谢谢

最佳答案

要使用pako,您必须首先将数据从十六进制字符串转换为字节数组。这是执行此操作的一种方法:

function decodeHex(hexString) { 
  let result = new Uint8Array(hexString.length / 2); 
  for (let i = 0; i < result.length; i++) {
    result[i] = parseInt(hexString.slice(2 * i, 2 * i + 2), 16); 
  } 
  return result; 
}
let json = pako.inflate(decodeHex("your string"), 
                        { to: 'string' });
let decoded = JSON.parse(json);

关于javascript - 膨胀来自 websocket API 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53155519/

相关文章:

javascript - 使用 jQuery 从相邻输入元素获取值

node.js - Nodejs 解密 AES256 需要帮助

c# - 加密的字符串在结果中有一个斜杠(/),这会导致 URL 出现问题

python - web-socket 客户端不会连接到 API

sockets - Laravel Ratchet 套接字身份验证

javascript - Freshdesk - 超时后初始化

javascript - 如何通过 SquareSpace 索引子页面传递 URL UTM/SQF 参数?

perl - Chilkat 加密未按预期工作

websocket - 使用 Web 套接字向 Django channel 中的多个组发送消息

javascript - 在 Chrome 中支持 clientWidth/height