• python2 与 python3 的编码


    #coding:utf-8
    import os
    import sys
    #当前环境py2.7
    print(sys.getdefaultencoding()) #注意是编码方式,不是编码
    #定义一个字符串
    str = '中'
    #print(str)
    print(len(str)) #长度3, utf-8
    #str.encode('gbk') #报错,当前编码环境为ascii 不能直接从ascii映射到gbk 需解码到unicode,在进行编码
    #print(str.decode('utf-8').encode('gbk'))#��乱码,当前环境为utf-8,设置gbk 显示正常
    #所以python 中定义中文尽量用unicode的方式,即前面加u
    #python2在编码的问题上还是留了很多的坑
    #------------------------Python3------------------------------------
    #python3中默认编码方式是utf-8, 默认编码为unicode 所以不管是中文英文都按照一个字符来算
    #只是在编码的时候选择对应的编码方式
    str1 = '中abc'
    print(len(str1)) #可以看到输出长度为4 不管是ascii还是中文都按单个字符来算
    print(str1.encode('utf-8')) #b'xe4xb8xadabc'
    print(str1.encode('gbk')) #b'xd6xd0abc'
    

      

  • 相关阅读:
    不死神兔
    C/C++内存管理详解
    python下调用不在环境变量中的firefox
    【转至nmap】nc命令
    Linux SSH隧道技术(端口转发,socket代理)
    linux共享上网设置
    HDU
    CSU
    HDU
    HDU
  • 原文地址:https://www.cnblogs.com/alplf123/p/8203167.html
Copyright © 2020-2023  润新知