From 6d3a9d5380b7d559ba2432777b566142c23acc39 Mon Sep 17 00:00:00 2001 From: Paul Warren Date: Sat, 12 Oct 2024 20:36:55 +1100 Subject: [PATCH] String handling adjustments --- src/pyfroniusreg/froniusreg.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/pyfroniusreg/froniusreg.py b/src/pyfroniusreg/froniusreg.py index c0d995b..70ac538 100644 --- a/src/pyfroniusreg/froniusreg.py +++ b/src/pyfroniusreg/froniusreg.py @@ -30,17 +30,23 @@ class DataType(): # helper functions for DataType constructors def decode_string8(decoder): - return str(decoder.decode_string(8).decode('utf-8')) + try: + return str(decoder.decode_string(8).decode('utf-8')) + except UnicodeDecodeError: + return decoder.decode_string(8) def decode_string16(decoder): try: return str(decoder.decode_string(16).decode('utf-8')) except UnicodeDecodeError: - return str(decoder.decode_string(16)) + return decoder.decode_string(16) def decode_string32(decoder): - return str(decoder.decode_string(32).decode('utf-8')) - + try: + return str(decoder.decode_string(32).decode('utf-8')) + except UnicodeDecodeError: + return decoder.decode_string(32) + def encode_16bit_int(encoder, value): return encoder.add_16bit_int(int(value))