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''