zoukankan      html  css  js  c++  java
  • Python编码与解码

    Py3中,str类型数据在内存中是以unicode编码方式存在的。

    但Unicode编码的数据无法用于文件传输,传输时,需要将其转换为bytes类型数据,然后再用其他编码方式编码如:utf-8、gbk等。

    s = 'mumu'   # str类型

    s = b'mumu'  # types类型

    1、编码encode

    将str --> types

    s1 = 'mumu'

    s10 = s1.encode()  # 将s1转换为types类型,为定义编码方式,结果为:b'mumu'

    s11 = s1.encode('utf-8')  # 将s1转换为types类型,编码方式为utf-8  b'mumu'

    s12 = s1.encode('gbk')  # 将s1转换为types类型,编码方式为gbk  b'mumu'

    注意:中文型字符串,结果会转换为  bxd6x23x44  (一个 xfa 表示一个byte,当一个中文转换为两个x00,则表示编码方式为gbk,3个则为utf-8) 

    2、解码decode

    解析成当前环境能理解的语言(即当前环境是什么编码方式就以什么编码方式进行解码)

    s = '大叔'  # Python中字符串类型是以Unicode编码方式存在的
    b = s.encode('utf-8')  # 当把编码方式换位‘utf-8’时,则转为了bytes类型,b'xe5xa4xa7xe5x8fx94'
    s1 = b.decode('utf-8')  # 解除‘utf-8’编码,则还原为字符串,大叔
    s2 = b.decode('gbk')  # 以gbk的方式解码,则会出现乱码,澶у彅

    英文字符串无论是‘utf-8’还是‘gbk’其都以一个byte为一个字,所以对于英文,无论哪种解码方式都能成功解码

    小结:

      数据类型 str --> types

      编码方式 Unicode --> 其他

      编码:encode

      解码:decode

  • 相关阅读:
    在vue项目中使用element-ui的Upload上传组件
    express使用ejs模板引擎渲染html文件
    nodejs服务端实现post请求
    anroid学习笔记(1)
    水平遍历和嵌套递归
    写代码的风格
    简易版本vue的实现和注解
    JavaScript下的new操作符做了什么?
    node下的跨域传递cookie
    用node研究axios前后端交互状态码规则
  • 原文地址:https://www.cnblogs.com/MuMuyom/p/10647824.html
Copyright © 2011-2022 走看看