From 0f7c8e969871ccad91ddf07aa4569a88d80b3824 Mon Sep 17 00:00:00 2001 From: Guillaume Ayoub Date: Sun, 22 Aug 2021 15:17:31 +0200 Subject: [PATCH] Fix string encoding --- pydyf/__init__.py | 8 ++++---- tests/test_pydyf.py | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pydyf/__init__.py b/pydyf/__init__.py index d268aeb..d73e369 100755 --- a/pydyf/__init__.py +++ b/pydyf/__init__.py @@ -17,12 +17,12 @@ def _to_bytes(item): return item.data elif isinstance(item, float): if item.is_integer(): - return f'{int(item):d}'.encode() + return f'{int(item):d}'.encode('ascii') else: - return f'{item:f}'.encode() + return f'{item:f}'.encode('ascii') elif isinstance(item, int): - return f'{item:d}'.encode() - return str(item).encode() + return f'{item:d}'.encode('ascii') + return str(item).encode('ascii') class Object: diff --git a/tests/test_pydyf.py b/tests/test_pydyf.py index 22ffe9e..87d9763 100644 --- a/tests/test_pydyf.py +++ b/tests/test_pydyf.py @@ -700,3 +700,9 @@ def test_text(): __________ __________ ''') + + +def test_string_encoding(): + assert pydyf.String('abc').data == b'(abc)' + assert pydyf.String('déf').data == b'' + assert pydyf.String('♡').data == b''