There are some dfferences between python 2.x and python 3.x. In this tutorial, we will discuss some differences on python string. You should notice these differences when your are using python string.
In python 3.x
Python string contains unicode string and byte string.
str: unicode string
s = '博客' print(s) print(type(s))
The result is:
博客 <class 'str'>
bytes: a byte string
s = b'https://www.tutorialexample.com' print(s) print(type(s))
The result is:
b'https://www.tutorialexample.com' <class 'bytes'>
You should notice:
SyntaxError: bytes can only contain ASCII literal characters.
so this is error:
s = b'博客'
In python 2.x
str: is a byte string
bytes: the same to str
unicode: a unicode string, it can be create as u’博客’
In summary, in python 3.x, string is a unicode string, however, string should be created with u as a unicode string in python 2.x.