在python3中,已经把str和bytes做了明显的分别,两者之间不能混用(纬度不一样),编程中直接声明的字符串使用的是unicode,在字符串存储或者传输时使用的是字节流(比特流),这个时候Python帮你做unicode转bytes。如果不需要Python帮你这么做。你可以直接使用字节的方式声明。
//str 转 bytes >>> s = '您好' >>> type(s) <class 'str'> >>> s '您好' >>> b = bytes(s, encoding='utf-8') >>> type(b) <class 'bytes'> >>> b b'\xe6\x82\xa8\xe5\xa5\xbd' //bytes 转 str >>> b1 = b'\xe6\x82\xa8\xe5\xa5\xbd' >>> b1 b'\xe6\x82\xa8\xe5\xa5\xbd' >>> s1 = str(b1, encoding='utf-8') >>> s1 '您好'