最近在接触学习 Python 中的 socket 网络编程,在做收发数据案例时,对编码问题有些误解
下面是我错误的理解:
encode():编码,将对象的编码转换为指定的编码格式,按照字面理解,错误理解成其他编码格式转换成Unicode格式编码
decode():解码,是编码的逆过程。解析破译,把Unicode格式转换成其他格式。
查看一些资料和技术博客,终于明白了其中的道理:
decode的作用是将其他编码的字符串转换成Unicode编码,如 str1.decode('gb2312'),表示将 gb2312 编码的字符串 str1转换成 Unicode 编码。
encode的作用是将 Unicode 编码转换成其他编码的字符串,如 str2.encode('gb2312'),表示将 Unicode 编码的字符串str2 转换成 gb2312 编码。
编码:是把文本(字符串)转换成字节流,Unicode 格式转换成其他编码格式
解码:是把字节流转换成字符串(文本),其他编码格式转成 Unicode