当前位置:网站首页 > 编程语言 > 正文

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



# 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("你好") ---> b'xc4xe3xbaxc3' 你好 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")) ---> b'xc4xe3xb9xfe' # 现在右下角是默认编码 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")) ---> 你哈 b'xc4xe3xb9xfe' # b表示 bytes;在python3 中,encode之后,除了修改编码集,会全部变成 bytes 类型,这是和 python2 最大的区别 6-1 s = "你哈" s_gbk = s.encode("gbk") print(s_gbk) print(s.encode()) ---> b'xc4xe3xb9xfe' # gbk b'xe4xbdxa0xe5x93x88' # 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 ---> b'xc4xe3xb9xfe' b'xe4xbdxa0xe5x93x88' utf8 b'xe4xbdxa0xe5x93x88' # 所有的字符集转换都要经过一个 unicode
到此这篇字符集转码(字符转换编码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 删除虚拟环境的指令有哪些(删除虚拟环境的命令)2026-03-16 21:36:07
  • 虚拟机装系统蓝屏(虚拟机安装系统电脑蓝屏)2026-03-16 21:36:07
  • 若依文档(若依文件上传)2026-03-16 21:36:07
  • xp系统安装虚拟打印机(winxp安装虚拟打印pdf)2026-03-16 21:36:07
  • ewma是什么意思(eww什么意思)2026-03-16 21:36:07
  • 苹果电脑装了双系统的电脑如何切换系统(苹果电脑装了双系统怎么切换到苹果系统)2026-03-16 21:36:07
  • ddpm(ddp买卖双方的责任和义务)2026-03-16 21:36:07
  • u盘 启动盘制作(u盘启动盘制作)2026-03-16 21:36:07
  • pv和dv试验是什么(pv试验指的是什么)2026-03-16 21:36:07
  • e71409故障码(e740故障代码)2026-03-16 21:36:07
  • 全屏图片