在python中是通过使用 bytes 和 str 类型之间的转换解决多编码之间的问题的
假设有字符串:
str1 = "诸葛亮"
要将 str1 转换为 gbk 编码的,怎么办呢?
在python中,可以认为一切皆对象,这里的 "诸葛亮" 就是一个str类型的对象
那么只需要
(1) str1.encode("gbk")
这样就可以得到 gbk 编码的 "诸葛亮"
(2)"诸葛亮".encode("gbk")
同样也可以得到 gbk 编码的 "诸葛亮"
(3)bytes("诸葛亮", "gbk")
同上 ~~~
(4)bytes(str1, "gbk")
同上 ~~~
--------------------------------------------------------------------------------------------------------------------
假设有:
str2 = "黄月英"
byte1 = "诸葛亮".encode(“gbk”)
这样一个 bytes 类型的变量指针,如果想要使用 "+" 号 与 str2 相加,是不允许的,所以需要先转换为 str
--> 转换为 str
str3 = byte1.decode("gbk")
或者
str3 = str(byte1, "gbk")
这样转换后, str2 + str3 就是允许的