首先理解编码encode与解码decode
很多接口返回的数据都是unicode字符串,但是我们需要转化成str,这样才能进行json.loads()的反序列化操作。(虽然经过我证实,有时候unicode字符串也是可以直接进行反序列化操作的,但是老师说这样更严谨?)
下面是将unicode编码成为具体的字符串(各种编码格式)
unicodestring = u"Hello world"
# 将Unicode转化为普通Python字符串:"encode"
utf8string = unicodestring.encode("utf-8")
asciistring = unicodestring.encode("ascii")
isostring = unicodestring.encode("ISO-8859-1")
utf16string = unicodestring.encode("utf-16")
下面是将python字符串解码为unicode
# 将普通Python字符串转化为Unicode:"decode"
plainstring1 = unicode(utf8string, "utf-8")
plainstring2 = unicode(asciistring, "ascii")
plainstring3 = unicode(isostring, "ISO-8859-1")
plainstring4 = unicode(utf16string, "utf-16")
assert plainstring1 == plainstring2 == plainstring3 == plainstring4