2025年字符集转码(字符转换编码)

字符集转码(字符转换编码)Python2 7 默认的编码是什么 打印系统默认编码 import sys print sys getdefaulten gt ascii 虽然程序是用 utf8 但默认编码是 ascii 如果没有 encode 会自动按系统编码 ascii 自动解码 1 1 s 你好

大家好,我是讯享网,很高兴认识大家。



# Python2.7 默认的编码是什么? # 打印系统默认编码 import sys print(sys.getdefaultencoding()) —> ascii # 虽然程序是用 utf8 但默认编码是 ascii # 如果没有 encode,会自动按系统编码 ascii 自动解码 1-1 s = 你好 s_to_gbk = s.encode(gbk) print(s_to_gbk) print(你好) —> bxc4xe3xbaxc3 你好 2-1 怎么解码呢? s = 你好 s_to_gbk = s.decode().encode(gbk) print(s_to_gbk) print(你好) —> Error decode 如果不往里面传值,相当于用默认的编码;与没写是一样的 所以必须要显示的写进去 2-2 s = 你好 s_to_unicode = s.decode(utf-8) print(s_to_unicode) s_to_gbk = s_to_unicode.encode(gbk) print(s_to_gbk) 3-1 gbk_to_utf8 = s_to_gbk.decode(gbk).encode(utf-8) print(gbk_to_utf8) # gbk 转成 unicode 要告诉 unicode 之前是什么编码,  # 然后 unicode 在去找和这个编码对应的并转成 unicode # 然后在编码成 utf8
讯享网
4-1 >>> s = 你好 >>> s = u你好 >>> print(s) 你好 >>> # u 表示 unicode # utf-8 是属于 unicode 的扩展集,unicode 是可以直接在 utf-8 中打印出来的 # 但是 gbk 不行,gbk 和 unicode 必须转换 # utf8 和 unicode 可以直接打印 4-2 如果 s 已经是 unicode了,所有的 decode 动作都是要解成 Unicode 如果已经是 unicode 了,解的时候就会报错 # 现在看看 Python 3 # 在 python3 中 不需要加 编码集 5-1 s = 你哈 # 现在想要转成 gbk,默认就是 unicode,所以不需要解码,直接 encode print(s.encode(gbk)) —> bxc4xe3xb9xfe # 现在右下角是默认编码 utf-8 5-2 # 如果把默认编码格式改为 gbk 呢? s = 你哈 # 注:默认 utf-8 编码 print(s.encode(gbk)) —> SyntaxError: Non-UTF-8 code starting with xc4 in file # python3 默认是 unicode 所以无法处理 gbk,因为现在的这个文件是 gbk 编码的 # 所以是无法处理的,那应该怎么办呢? # 需要声明,在文件头声明成 gbk # -- coding:gbk -- s = 你哈 # 现在想要转成 gbk,默认就是 unicode,所以不需要解码,直接 encode print(s) print(s.encode(gbk)) —> 你哈 bxc4xe3xb9xfe # b表示 bytes;在python3 中,encode之后,除了修改编码集,会全部变成 bytes 类型,这是和 python2 最大的区别 6-1 s = 你哈 s_gbk = s.encode(gbk) print(s_gbk) print(s.encode()) —> bxc4xe3xb9xfe # gbk bxe4xbdxa0xe5x93x88 # utf-8 6-2 s = 你哈 s_gbk = s.encode(gbk) print(s_gbk) print(s.encode()) gbk_to_utf8 = s_gbk.decode(gbk).encode(utf-8) print(utf8,gbk_to_utf8) # 先转成 unicode 在转成 utf8 —> bxc4xe3xb9xfe bxe4xbdxa0xe5x93x88 utf8 bxe4xbdxa0xe5x93x88 # 所有的字符集转换都要经过一个 unicode

讯享网

小讯
上一篇 2025-06-03 18:16
下一篇 2025-04-13 22:49

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146909.html