Skip to main content

Web-friendly encoding and decoding library

Project description

endec

Web-friendly encoding and decoding library.

endec uses encoding_rs (which powers Firefox) under the hood.

Installation

Requires Python 3.8+

$ pip install endec

NOTE: This project is in a pre-release state, please do not use it in production workloads.

Examples

Encode

import endec

utf8_bytes = endec.encode("こんにちは")
assert utf8_bytes == b"\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf"

iso2022jp_bytes = endec.encode("こんにちは", "iso-2022-jp")
assert iso2022jp_bytes == b"\x1b$B$3$s$K$A$O\x1b(B"

Decode

import endec

utf8_str = endec.decode(b'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf')
assert utf8_str == "こんにちは"

iso2022jp_str = endec.decode(b"\x1b$B$3$s$K$A$O\x1b(B", "iso-2022-jp")
assert iso2022jp_str == "こんにちは"

Codecs

Please refer to WHATWG Web Encoding Standard for avaliable codecs.

License

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

endec-0.1.0a1.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distributions

endec-0.1.0a1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

endec-0.1.0a1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

endec-0.1.0a1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

endec-0.1.0a1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

endec-0.1.0a1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

endec-0.1.0a1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

endec-0.1.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

endec-0.1.0a1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

endec-0.1.0a1-cp311-none-win_amd64.whl (275.9 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

endec-0.1.0a1-cp311-none-win32.whl (267.9 kB view hashes)

Uploaded CPython 3.11 Windows x86

endec-0.1.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

endec-0.1.0a1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

endec-0.1.0a1-cp311-cp311-macosx_11_0_arm64.whl (406.4 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

endec-0.1.0a1-cp311-cp311-macosx_10_7_x86_64.whl (411.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.7+ x86-64

endec-0.1.0a1-cp310-none-win_amd64.whl (275.9 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

endec-0.1.0a1-cp310-none-win32.whl (267.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

endec-0.1.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

endec-0.1.0a1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

endec-0.1.0a1-cp310-cp310-macosx_11_0_arm64.whl (406.4 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

endec-0.1.0a1-cp310-cp310-macosx_10_7_x86_64.whl (411.0 kB view hashes)

Uploaded CPython 3.10 macOS 10.7+ x86-64

endec-0.1.0a1-cp39-none-win_amd64.whl (275.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

endec-0.1.0a1-cp39-none-win32.whl (267.9 kB view hashes)

Uploaded CPython 3.9 Windows x86

endec-0.1.0a1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

endec-0.1.0a1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

endec-0.1.0a1-cp38-none-win_amd64.whl (275.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

endec-0.1.0a1-cp38-none-win32.whl (267.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

endec-0.1.0a1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

endec-0.1.0a1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

endec-0.1.0a1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

endec-0.1.0a1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

endec-0.1.0a1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

endec-0.1.0a1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page