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

    背景

    1. 在使用python过程中,经常会遇到这种进制数据 b'xe4xb8xadxe6x96x87',看起来会一头雾水
    2. 本篇博客介绍python如何处理这些编码

    编码

    1. 计算机信息的表示方式只有0,1
    2. 将图像,语言文字,音视频等转换成二进制存储在计算机,称为编码
    3. 将0,1组合并赋予不同的含义,且赋予不同的存储空间的方式又称为编码标准
    4. 不同国家因语言不同,有不同的编码标准
    5. Unicode 为国际统一编码,即将世界所有字符都分配了一个唯一的数字编号
    6. 主流的编码标准还有 ASCII、GB2312、GBK、GB18030, GB2312、GBK、GB18030 为汉字字符编码方案的国家标准。

    默认编码

    1. python2默认编码为 ASCII,python3默认编码为 UTF-8
    2. windows默认编码为 GBK,linux默认编码为 UTF-8
    3. windows在保存和读取文件均使用 GBK编码,可以在保存文件时指定编码 encoding='utf-8'

    python编码转换

    1. 中间码: 通常用unicode作为中间编码,先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码格式
    2. 编码(encode): 将unicode的字符串转换成二进制数据的过程和规则
    3. 解码(decode): 将二进制数据转换为对应的Unicode字符串
      encode:str --> bytes
      decode:bytes --> str
    s = '中国'
    print(s.encode('utf-8'))
    print(s.encode('utf-8').decode('utf-8'))
    >>>
    b'xe4xb8xadxe5x9bxbd'
    中国
    

    总结

    1. decode实质是把二进制数据(bytes)转化成人看的懂得英文或者汉字
    2. python3默认编码为 UTF-8
  • 相关阅读:
    [源码]一个简单的源代码行数统计器
    [转载]一个java程序员的面试
    [源码]用c#创建支持多语言的应用程序
    Effective C#
    [源码]类似于 word 的颜色选择器 ColorPicker
    opera中开启WebGL
    Java学习之路
    邮箱正则表达式写法
    AX 2009 扩展类型控件的Lookup的写法
    唐骏的管理名言
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13611750.html
Copyright © 2011-2022 走看看