Fixed encoding bug in prefix sockets

This commit is contained in:
aewens 2019-06-06 16:22:57 -04:00
parent 20ff476e24
commit 4da6a8d6ad
2 changed files with 18 additions and 2 deletions

View File

@ -21,7 +21,15 @@ class PrefixSocketClient(SocketClient):
formatted = message.format(*args)
else:
formatted = message
packaged = pack(">I", len(formatted)) + formatted.encode()
try:
encoded = formatted.encode("utf8")
except UnicodeDecodeError:
try:
encoded = formatted.encode("iso-8859-1")
except UnicodeDecodeError:
encoded = "".encode()
size = pack(">I", len(encoded))
packaged = size + encoded
return packaged
def _recv_bytes(self, get_bytes, decode=True):

View File

@ -21,7 +21,15 @@ class PrefixSocketServer(SocketServer):
formatted = message.format(*args)
else:
formatted = message
packaged = pack(">I", len(formatted)) + formatted.encode()
try:
encoded = formatted.encode("utf8")
except UnicodeDecodeError:
try:
encoded = formatted.encode("iso-8859-1")
except UnicodeDecodeError:
encoded = "".encode()
size = pack(">I", len(encoded))
packaged = size + encoded
return packaged
# Packages a message and sends it to socket