zoukankan      html  css  js  c++  java
  • Python中字符编码及转码

    python 字符编码及转码

    python 默认编码
    • python 2.X 默认的字符编码是ASCII, 默认的文件编码也是ASCII
    • python 3.X 默认的字符编码是unicode,默认的文件编码也是unicode
    • 注意:unicode和utf-8之间可以不需要转换,可以直接互相答应,GBK如果需要和utf-8之间进行转换一定要通过unicode

    首先说说python中二进制,八进制,十进制,十六进制之间的转换

    --------------------------------------------------------------
    # 十进制
    print(100)  #结果:100
    --------------------------------------------------------------
    # 十进制转二进
    print(bin(100))  
    # 结果:0b1100100  0b表示二进制  1100100表示二进制的100
    --------------------------------------------------------------
    # 十进制转八进制
    print(oct(100))
    # 结果:0o144  0o表示八进制  144表示八进制的100
    --------------------------------------------------------------
    # 十进制转16进制
    print(hex(100))
    # 结果:0x64  0x表示十六进制  64表示16进制的100
    --------------------------------------------------------------
    

    ASCII: 占一个字节,英文字母及数字,基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,通用的单字符编码系统
    Unicode(万国码): 两个字节,计算机上使用的字符编码
    UTP-8(可变长的编码): 对Unicode编码的进行了压缩和优化

    python3.x中,默认内存为Unicode编码
    • 字符串转字节:用encode,指定'utf-8'字符集
    • 字节码转字符串: 用decode,指定'utf-8'字符集

    注意:当英文转成字节码时,b''后面还是英文,当中文转成字节码时,b''后面显示十六进制的字节码。注:encode为加密,decode为解密,使用哪种字符集加密就用哪种字符集解密
    基于: UTF-8

    a = 'Miss'
    a = a.encode('utf-8')
    print(a)  # 结果:b'Miss'
    b = '想'
    b = b.encode('utf-8')
    print(b)  # 结果:b'xe6x83xb3'
    b = b.decode('utf-8')
    print(b) # 结果:'想'
    

    基于:GBK

    a = 'Miss'
    a = a.encode('GBK')
    print(a)  # 结果:b'Miss'
    b = '想'
    b = b.encode('GBK')
    print(b)  # 结果:b'xcfxeb'
    b = b.decode('GBK')
    print(b) # 结果:'想'
    
  • 相关阅读:
    avalov+require实现tab栏
    动态加载js,css
    Zepto.js
    Linux 的文件和目录管理类命令
    shell 的基本理解
    Linux 日期时间命令
    Linux 关机命令
    type 命令
    命令类型即使用帮助
    cd 命令
  • 原文地址:https://www.cnblogs.com/Anesthesia-is/p/11503381.html
Copyright © 2011-2022 走看看