summaryrefslogtreecommitdiff
path: root/docs/examples/tutorial/string/to_unicode.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/tutorial/string/to_unicode.pyx')
-rw-r--r--docs/examples/tutorial/string/to_unicode.pyx13
1 files changed, 7 insertions, 6 deletions
diff --git a/docs/examples/tutorial/string/to_unicode.pyx b/docs/examples/tutorial/string/to_unicode.pyx
index 5b61ff220..8ab8f2662 100644
--- a/docs/examples/tutorial/string/to_unicode.pyx
+++ b/docs/examples/tutorial/string/to_unicode.pyx
@@ -2,19 +2,20 @@
from cpython.version cimport PY_MAJOR_VERSION
-cdef unicode _ustring(s):
+cdef unicode _text(s):
if type(s) is unicode:
- # fast path for most common case(s)
+ # Fast path for most common case(s).
return <unicode>s
elif PY_MAJOR_VERSION < 3 and isinstance(s, bytes):
- # only accept byte strings in Python 2.x, not in Py3
+ # Only accept byte strings as text input in Python 2.x, not in Py3.
return (<bytes>s).decode('ascii')
elif isinstance(s, unicode):
- # an evil cast to <unicode> might work here in some(!) cases,
- # depending on what the further processing does. to be safe,
- # we can always create a copy instead
+ # We know from the fast path above that 's' can only be a subtype here.
+ # An evil cast to <unicode> might still work in some(!) cases,
+ # depending on what the further processing does. To be safe,
+ # we can always create a copy instead.
return unicode(s)
else: