From 540ed4cdba5d09e6e1c959ee3ebf1e9c0dc3ad40 Mon Sep 17 00:00:00 2001 From: Jason Paryani Date: Wed, 18 Dec 2013 21:57:57 -0800 Subject: [PATCH] Don't force utf8 encoding for unicode strings --- capnp/lib/capnp.pyx | 6 +++--- test/test_struct.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/capnp/lib/capnp.pyx b/capnp/lib/capnp.pyx index fe03988..5ae48bd 100644 --- a/capnp/lib/capnp.pyx +++ b/capnp/lib/capnp.pyx @@ -258,7 +258,7 @@ cdef public object wrap_kj_exception_for_reraise(capnp.Exception & exception): cdef public object get_exception_info(object exc_type, object exc_obj, object exc_tb): try: - return (exc_tb.tb_frame.f_code.co_filename.encode('utf-8'), exc_tb.tb_lineno, (repr(exc_type) + ':' + str(exc_obj)).encode('utf-8')) + return (exc_tb.tb_frame.f_code.co_filename.encode(), exc_tb.tb_lineno, (repr(exc_type) + ':' + str(exc_obj)).encode()) except: return (b'', 0, b"Couldn't determine python exception") @@ -664,7 +664,7 @@ cdef _setDynamicField(_DynamicSetterClasses thisptr, field, value, parent): thisptr.set(field, temp) del temp2 elif isinstance(value, basestring): - encoded_value = value.encode('utf-8') + encoded_value = value.encode() temp2 = new capnp.StringPtr(encoded_value, len(encoded_value)) temp = C_DynamicValue.Reader(deref(temp2)) thisptr.set(field, temp) @@ -709,7 +709,7 @@ cdef _setDynamicFieldPtr(_DynamicSetterClasses * thisptr, field, value, parent): thisptr.set(field, temp) del temp2 elif isinstance(value, basestring): - encoded_value = value.encode('utf-8') + encoded_value = value.encode() temp2 = new capnp.StringPtr(encoded_value, len(encoded_value)) temp = C_DynamicValue.Reader(deref(temp2)) thisptr.set(field, temp) diff --git a/test/test_struct.py b/test/test_struct.py index 3199c65..95a2c08 100644 --- a/test/test_struct.py +++ b/test/test_struct.py @@ -99,7 +99,7 @@ def test_unicode_str(all_types): msg = all_types.TestAllTypes.new_message() if sys.version_info[0] == 2: - msg.textField = u"f\u00e6oo" + msg.textField = u"f\u00e6oo".encode('utf-8') assert msg.textField.decode('utf-8') == u"f\u00e6oo" else: