From ac4c1f76665d11ef94dbca85cbc2bfa19ac7d6b6 Mon Sep 17 00:00:00 2001 From: Pierrick Koch Date: Wed, 19 Dec 2012 14:13:39 +0100 Subject: [PATCH] Fix deserialize bytes in Python3 --- src/genpy/generator.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/genpy/generator.py b/src/genpy/generator.py index eefd14a..7d17811 100644 --- a/src/genpy/generator.py +++ b/src/genpy/generator.py @@ -437,10 +437,13 @@ def string_serializer_generator(package, type_, name, serialize): yield "%s = str[start:end]" % var else: yield "end += length" - yield "if python3:" - yield INDENT+"%s = str[start:end].decode('utf-8')" % (var) #If messages are python3-decode back to unicode - yield "else:" - yield INDENT+"%s = str[start:end]" % (var) + if base_type in ['uint8', 'char']: + yield "%s = str[start:end]" % (var) + else: + yield "if python3:" + yield INDENT+"%s = str[start:end].decode('utf-8')" % (var) #If messages are python3-decode back to unicode + yield "else:" + yield INDENT+"%s = str[start:end]" % (var) def array_serializer_generator(msg_context, package, type_, name, serialize, is_numpy):