diff --git a/requests/_internal_utils.py b/requests/_internal_utils.py index 87e2ca00..759d9a56 100644 --- a/requests/_internal_utils.py +++ b/requests/_internal_utils.py @@ -8,7 +8,7 @@ Provides utility functions that are consumed internally by Requests which depend on extremely few external helpers (such as compat) """ -from .compat import is_py2, builtin_str +from .compat import is_py2, builtin_str, str def to_native_string(string, encoding='ascii'): @@ -25,3 +25,18 @@ def to_native_string(string, encoding='ascii'): out = string.decode(encoding) return out + + +def unicode_is_ascii(u_string): + """Determine if unicode string only contains ASCII characters. + + :param str u_string: unicode string to check. Must be unicode + and not Python 2 `str`. + :rtype: bool + """ + assert isinstance(u_string, str) + try: + u_string.encode('ascii') + return True + except UnicodeEncodeError: + return False