adding unicode_is_ascii utility function

This commit is contained in:
Nate Prewitt
2016-11-20 14:50:31 -07:00
parent d52e9b8c80
commit 264f5bd5e1
+16 -1
View File
@@ -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