a
óBgÑ ã @ sD d Z ddlZddlmZ eedœdd„Zeeef edœdd„ZdS ) a `JOSE Base64`_ is defined as:
- URL-safe Base64
- padding stripped
.. _`JOSE Base64`:
https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-37#appendix-C
.. Do NOT try to call this module "base64", as it will "shadow" the
standard library.
é N)ÚUnion)ÚdataÚreturnc C s" t | tƒstdƒ‚t | ¡ d¡S )zÃJOSE Base64 encode.
:param data: Data to be encoded.
:type data: bytes
:returns: JOSE Base64 string.
:rtype: bytes
:raises TypeError: if ``data`` is of incorrect type
zargument should be bytesó =)Ú
isinstanceÚbytesÚ TypeErrorÚbase64Zurlsafe_b64encodeÚrstrip©r © r ú./usr/lib/python3.9/site-packages/josepy/b64.pyÚ b64encode s
r c C sf t | tƒr6z| d¡} W qH ty2 tdƒ‚Y qH0 nt | tƒsHtdƒ‚t | ddt | ƒd ¡S )a^ JOSE Base64 decode.
:param data: Base64 string to be decoded. If it's unicode, then
only ASCII characters are allowed.
:type data: bytes or unicode
:returns: Decoded data.
:rtype: bytes
:raises TypeError: if input is of incorrect type
:raises ValueError: if input is unicode with non-ASCII characters
Úasciiz5unicode argument should contain only ASCII charactersz#argument should be a str or unicoder é )
r ÚstrÚencodeÚUnicodeEncodeErrorÚ
ValueErrorr r r Zurlsafe_b64decodeÚlenr r r r
Ú b64decode" s
r )Ú__doc__r Útypingr r r r r r r r r
Ú