bytesioex

A simple wrapper over io.BytesIO which allows reading and writing C data types


Keywords
deserialization, libraries, python, serialization
License
MIT
Install
pip install bytesioex==0.1.2

Documentation

BytesIOEx

PyPI PyPI - Python Version Code Style: Black security: bandit

BytesIOEx is a simple wrapper over Python's io.BytesIO which provides additional methods for reading and writing C data types like int8, uint8, bool and so on. The read_* methods are used for reading a particular type from the stream and the write_* methods are used for writing Python's basic data types int, bool and float to the stream. Both these types of methods advance the steam position by the size of the data type. The type conversion is handled by the struct module. Struct classes are used to maximize the performance. Native byteorder is used.

Installation

BytesIOEx requires Python 3.6+, it may run on older version as well but I have not tested it.

pip install --upgrade bytesioex

📜 Documentation

Docs are available on ReadTheDocs.

🚀 Roadmap

  • Ensure full coverage.
  • Add wchar (UTF-16 character) support.
  • Support for different byte orders.

Motivation

C# BinaryReader and BinaryWriter.

📧 Contact

E-mail: demberto@protonmail.com

© License

BytesIOEx is distributed under the MIT License.