• python 字节与字符串转换编解码格式


    1、如果没有设置字符串编码格式,那么将采用系统默认编码格式

    name = 'laogaoyang' # 采用系统默认编码格式
    nameBytes = name.encode('utf-8') # 先将 name 解码(采用系统默认格式),然后用 'utf-8' 编码
    nameStr = nameBytes.decode('utf-8') # 用什么格式编码就需要用同样格式去解码,否则出错

    说明:
    name.encode('utf-8')  此处将 name 重新编码为 'utf-8',要重新编码首先要解码,此处并没有指明解码方式,那么将采用系统的默认解码格式(编解码格式相同,不会出错)

    2、主动设置字符串编码格式为 'utf-8',假设系统编解码格式为 'ascii'

    # -*- coding: utf-8 -*-
    name = 'laogaoyang' # 采用指定的编码格式 'utf-8'
    nameBytes = name.encode('utf-8')  # 这里出错了

    说明:
    上一个例子编码成 'utf-8' 是正常的,因为编解码格式相同
    此处编码采用 'utf-8'格式,并没有指明解码方式,那么将采用系统的默认解码格式(即 'ascii', 编解码格式不相同,出错),修正方法有两种,如下所示

    明确指定解码格式
    # -*- coding: utf-8 -*-
    name = 'laogaoyang' # 采用指定的编码格式为 'utf-8'
    nameBytes = name.decode('utf-8').encode('utf-8')
    修改默认解码格式
    # -*- coding: utf-8 -*-
    import sys
    sys.setdefaultencoding('utf-8')
    name = 'laogaoyang' # 采用指定的编码格式 'utf-8'
    nameBytes = name.encode('utf-8')
    在孤独中思考,在思考中成熟,在成熟中升华
  • 相关阅读:
    ASP.NET中常用的优化性能的方法
    把WinDbg集成到Visual Studio中
    提高ASP.net的性能
    Msn Library
    [转帖]OutOfMemoryException问题的处理
    一完美的关于请求的目录不存在而需要url重写的解决方案!
    在 ASP.NET 中执行 URL 重写
    转 内存不断上升处理方法
    IIS 6 通配符应用映射和HttpHandler配置
    Java开源
  • 原文地址:https://www.cnblogs.com/laogaoyang/p/5715671.html
Copyright © 2020-2023  润新知