标签:解码 ret 种类 python2 表示 假设 实例 操作 python程序
Python2与Python3不同。这里主要介绍Python3。
Python3中有两种表示字符序列的类型:bytes和str。
bytes的实例包含原始的8位值;str的实例包含Unicode。
decode的作用是将其他编码的字符串解码成unicode编码字符串
encode的作用是将unicode编码字符串编码成其他编码的字符串
把Unicode字符(最长见的为utf-8)表示为二进制数据(也就是原始8位值)需要使用encode。反之使用decode。
编写Python程序时,一定要把编码和解码操作放到最外围来做。
程序的核心部分应该使用Unicode字符类型(也就是Python3中的str和Python2中的unicode),而且不要对字符编码做任何假设。
这样既可以令程序接收多种类型的文本编码(例如Latin-1、Shift JIS和Big5),又可以保证输出的文本信息只采用一种编码形式(最好是utf-8)。
由于字符类型有别,有时需要进行类型转化。
def to_str(bytes_or_str): if isinstance(bytes_or_str, bytes): value = bytes_or_str.decode(‘utf-8‘) else: value = bytes_or_str return value
def to_bytes(bytes_or_str): if isinstance(bytes_or_str, str): value = bytes_or_str.encode(‘utf-8‘) else: value = bytes_or_str return value
标签:解码 ret 种类 python2 表示 假设 实例 操作 python程序
原文地址:https://www.cnblogs.com/qianslup/p/12747264.html