From b7efc4c7ea03ea196d1ad9be479eb059dbb1bbcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8D=E6=B1=9F=E9=9B=84?= <530321864@qq.com> Date: Sat, 20 Apr 2019 10:59:06 +0800 Subject: [PATCH] fix issue 88 decode error --- stream/ws_client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stream/ws_client.py b/stream/ws_client.py index cf8a3fe9..7705627a 100644 --- a/stream/ws_client.py +++ b/stream/ws_client.py @@ -24,6 +24,7 @@ import six import ssl from six.moves.urllib.parse import urlencode, quote_plus, urlparse, urlunparse +import chardet STDIN_CHANNEL = 0 STDOUT_CHANNEL = 1 @@ -181,7 +182,8 @@ def update(self, timeout=0): elif op_code == ABNF.OPCODE_BINARY or op_code == ABNF.OPCODE_TEXT: data = frame.data if six.PY3: - data = data.decode("utf-8") + encode = chardet.detect(data).get('encoding') + data = data.decode(encode or "utf-8") if len(data) > 1: channel = ord(data[0]) data = data[1:]