【发布时间】:2014-03-20 19:43:08
【问题描述】:
我正在使用这个函数来解码通过 html5 websockets 发送的包 但是当有效载荷超过 125 字节时,它就会崩溃。 能不能变大点?
def decode_data(data):
databyte = bytearray(data)
datalen = (0x7F & databyte[1])
str_data = ''
if(datalen > 0):
mask_key = databyte[2:6]
masked_data = databyte[6:(6+datalen)]
unmasked_data = [masked_data[i] ^ mask_key[i%4] for i in range(len(masked_data))]
str_data = str(bytearray(unmasked_data))
return str_data
【问题讨论】:
-
对于任何正在查看的人:def decode_data(data): if not len(data): return False length = ord(data[1]) & 127 if length == 126: mask = data[4 :8] raw = data[8:] elif length == 127: mask = data[10:14] raw = data[14:] else: mask = data[2:6] raw = data[6:] ret = '' for cnt, d in enumerate(raw): ret += chr(ord(d) ^ ord(mask[cnt%4])) return ret
标签: python html websocket byte