python str与bytes之间的转换
# bytse object
b = b"example"
# str object
s = "example"
# str to bytes
sb = bytes(s, encoding = "utf-8")
# or
sb2 = s.encoding('utf-8')
# bytes to str
bs = str(b, encoding = "utf-8")
# or
bs2 = b.decode('utf-8')
字符编码
普通字符串可以用多种方式编码成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:"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
PyQt返回的字符串QString,转换成 python string
需要使用unicode(QtCore.QString(‘中文’).toUtf8(), ‘utf-8’, ‘ignore’) 转换一下