Path: blob/master/venv/Lib/site-packages/requests/_internal_utils.py
811 views
# -*- coding: utf-8 -*-12"""3requests._internal_utils4~~~~~~~~~~~~~~56Provides utility functions that are consumed internally by Requests7which depend on extremely few external helpers (such as compat)8"""910from .compat import is_py2, builtin_str, str111213def to_native_string(string, encoding='ascii'):14"""Given a string object, regardless of type, returns a representation of15that string in the native string type, encoding and decoding where16necessary. This assumes ASCII unless told otherwise.17"""18if isinstance(string, builtin_str):19out = string20else:21if is_py2:22out = string.encode(encoding)23else:24out = string.decode(encoding)2526return out272829def unicode_is_ascii(u_string):30"""Determine if unicode string only contains ASCII characters.3132:param str u_string: unicode string to check. Must be unicode33and not Python 2 `str`.34:rtype: bool35"""36assert isinstance(u_string, str)37try:38u_string.encode('ascii')39return True40except UnicodeEncodeError:41return False424344