python比较坑的一个点;意义完全变了的两个函数

首先 常用的编码方式有3种,utf-8:  常用的传输和存储格式,Unicode的一种简化

Unicode:包括了所有可能字符的国际统一编码

GBK:中文的一种编码标准,包括中文和英文

在python2中  解码函数decode是 其他编码(utf-8或GBK或其他)——>Unicode编码   用法:u=str.decode('utf-8') 括号里是原编码格式

encode是 Unicode编码——>其他编码(utf-8或GBK或其他)   用法:g=u.encode('gbk') u是Unicode编码格式,括号里是目标编码格式

在python3中:python3中不用再考虑Unicode也不用考虑字符串的原编码类型, 文件读入str后都是Unicode编码,文件处理后,                          想写到文件用什么编码方式,在函数中用变量定义就好。

字符串有两种数据类型,一种是字符串str,另一种是字节数据bytes

编码函数还是encode,但意义完全不同了,编码函数是  字符串str——>目标编码格式的字节类型bytes

s = "中文"t=s.encode(encoding='utf-8')

p=s.encode(encoding='gbk')print(t)print(p)

输出:

b'\xe4\xb8\xad\xe6\x96\x87'b'\xd6\xd0\xce\xc4'

解码函数还是decode,但意义完全不同了,解码函数是  字节类型bytes——>字节编码类型的字符串str

s = "中文"p=s.encode(encoding='gbk')

sp=p.decode(encoding='gbk')print(p)print(sp)

b'\xd6\xd0\xce\xc4'中文

这里要注意以什么格式编码就要以什么格式解码,要不然会报错

s = "中文"p=s.encode(encoding='gbk')

sp=p.decode(encoding='utf-8')print(p)print(sp)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte

举个大栗子

s = "中文"g=s.encode(encoding='gbk') #从utf-8转成gbk字节码

gg=g.decode(encoding='gbk') #从gbk字节码转成gbk字符串

u=gg.encode(encoding='utf-8')#从gbk转成utf-8

uu=u.decode(encoding='utf-8')

k=uu.encode(encoding='gbk') #从utf-8转成gbk

kk=k.decode(encoding='gbk')print(g)print(gg)print(u)print(uu)print(k)print(kk)

输出:

b'\xd6\xd0\xce\xc4'中文

b'\xe4\xb8\xad\xe6\x96\x87'中文

b'\xd6\xd0\xce\xc4'中文

注意:在python3中,str全部都是Unicode编码,所以看str变量的编码没有什么意义,而如果encode了,自然要encode里的变量参数来按编码类型编码

python解码函数_python2和python3的编码encode解码decode函数相关推荐

  1. python的decode函数报错_python2和python3的编码encode解码decode函数

    python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8:  常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...

  2. python:uu --- 对 uuencode 文件进行编码与解码

    python:uu --- 对 uuencode 文件进行编码与解码 简介 简介 此模块使用 uuencode 格式来编码和解码文件,以便任意二进制数据可通过仅限 ASCII 码的连接进行传输. 在任 ...

  3. decode函数python在哪里_Python基础知识——encode和decode函数

    以前我们介绍过,Python2.x中默认的编码的基础类型是unicode编码的类型,在Python3.x才转化为基于unicode的字符串. 那么我们在Python2.x的学习中就会遇到各种各样的编码 ...

  4. python中的encode()和decode()函数

    对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5\xa5\xbd像是乱码的字符串. 由于学python没多久,昨天 ...

  5. python str字符串和byte字节流的区别 encode、decode方法的区别

    Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和b ...

  6. python编码和解码_uu --- 对 uuencode 文件进行编码与解码 — Python 3.7.9 文档

    uu --- 对 uuencode 文件进行编码与解码¶ 此模块使用 uuencode 格式来编码和解码文件,以便任意二进制数据可通过仅限 ASCII 码的连接进行传输. 在任何要求文件参数的地方,这 ...

  7. Python中使用Unicode对中文进行编码和解码

    编码: str = 'Python才是世界上最好的语言'.encode('unicode_escape') print(str) 输出结果: b'Python\\u624d\\u662f\\u4e16 ...

  8. python中decode函数在哪个库_python encode和decode函数说明

    字符串编码常用类型:utf-8,gb2312,cp936,gbk等. Python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ...

  9. python encode和decode函数说明

    字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ...

最新文章

  1. jar包升级部署到服务器详细流程,将服务部署在linux中
  2. web编程速度大比拼(nodejs go python)(非专业对比)
  3. 汉诺塔问题---小昝
  4. hardmard积 用什么符号表示_简明算术教程——第四章 线性代数——第1节 矩阵环(二)...
  5. 常用的几种大数据架构剖析
  6. 【Linux】目录组织结构、文件类型和文件权限
  7. Linux学习-15-学习LVM逻辑卷
  8. iOS 开发之获取时间到年底可能会踩到的坑
  9. VirtualBox虚拟机安装CentOS 7
  10. PHP中文字符串截取类
  11. 作为一名开发者,没有实力和运气能干什么?
  12. linux修改web密码忘记,Ubuntu 直接修改IPMIweb登录密码
  13. 使用PosixFilePermission的Java设置文件权限
  14. python爬虫面向对象_Python爬虫技术--基础篇--面向对象编程(上)
  15. 加傲腾内存的电脑PE无法识别本地磁盘解决办法(M.2接口??)
  16. Android学习笔记——用户界面开发进阶(多个示例记录)
  17. mysql dump hbase_导入mysqldump表结构
  18. 一生必看的经典电影(转载)
  19. 【揭秘】CSDN博客上,超过百万访问量的Android牛人都是谁?
  20. 学习ArrayList 和 LinkedList小记【2】

热门文章

  1. 并查集 HDOJ 5441 Travel
  2. RBAC权限设计实例(转)
  3. Recover Binary Search Tree
  4. frame框架的显示隐藏操作 (转)
  5. Python_note2 基本图形绘制+turtle库使用
  6. 新手探索NLP(七)——情感分析
  7. UvaUva11059 最大乘积
  8. bootstrap简单登录界面
  9. Equinox P2的学习
  10. 关于JS点击button之灵活替换改变内容方法