1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import sys
- from aliyunsdkcore.vendored import six
- if six.PY2:
- from base64 import encodestring as b64_encode_bytes
- from base64 import decodestring as b64_decode_bytes
- def ensure_bytes(s, encoding='utf-8', errors='strict'):
- if isinstance(s, unicode):
- return s.encode(encoding, errors)
- if isinstance(s, str):
- return s
- raise ValueError("Expected str or unicode, received %s." % type(s))
- def ensure_string(s, encoding='utf-8', errors='strict'):
- if isinstance(s, unicode):
- return s.encode(encoding, errors)
- if isinstance(s, str):
- return s
- raise ValueError("Expected str or unicode, received %s." % type(s))
- else:
- from base64 import encodebytes as b64_encode_bytes
- from base64 import decodebytes as b64_decode_bytes
- def ensure_bytes(s, encoding='utf-8', errors='strict'):
- if isinstance(s, str):
- return bytes(s, encoding=encoding)
- if isinstance(s, bytes):
- return s
- if isinstance(s, bytearray):
- return bytes(s)
- raise ValueError(
- "Expected str or bytes or bytearray, received %s." %
- type(s))
- def ensure_string(s, encoding='utf-8', errors='strict'):
- if isinstance(s, str):
- return s
- if isinstance(s, (bytes, bytearray)):
- return str(s, encoding='utf-8')
- raise ValueError(
- "Expected str or bytes or bytearray, received %s." %
- type(s))
|