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
  • 相关阅读:
    很多网络库介绍
    CFileFind
    C#编写COM组件
    使用javascript调用com组件
    C++ 解析Json——jsoncpp
    休眠与开机自动运行等VC代码
    win7 vs2012/2013 编译boost 1.55
    VC中的字符串转换宏
    InstallShield 静默安装
    CAD版本 注册表信息
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13611750.html
Copyright © 2011-2022 走看看