python的编码和解码
2013-05-06 21:14
169 查看
在python编程的过程中,编码和解码是经常遇见的问题。
常见的编码有unicode,gb2312,gbk,utf-8等等。
在编码和解码的过程过,使用最频繁的函数就是decode()和encode。
其中decode()函数,表示把字符串从原有编码,解码成unicode中间编码。
encode()函数,表示把字符串从unicode中间编码,转换成目标编码。
举例:
在使用decode()或者encode()函数的过程当中,经常会碰到诸如这样的问题:
'gbk' codec can't decode byte 0xc1 in position 8687: incomplete multibyte sequence
表示在编码或者解码的过程当中,碰到无法编解码的字符。
如果你不希望被这样的错误中断程序的运行,可以加上一个忽略这类错误的参数ignore.
表示忽略掉无法转换的字符。
常见的编码有unicode,gb2312,gbk,utf-8等等。
在编码和解码的过程过,使用最频繁的函数就是decode()和encode。
其中decode()函数,表示把字符串从原有编码,解码成unicode中间编码。
encode()函数,表示把字符串从unicode中间编码,转换成目标编码。
举例:
lines = open(input_file_name, 'r').readlines() for line in lines: line = line.strip() line = line.decode('gbk') # 从原有的gbk编码,转换成unicode中间编码 line = line.encode('utf-8') # 从unicode中间编码,转换成UTF-8编码 output_file.write(line + '\n')
在使用decode()或者encode()函数的过程当中,经常会碰到诸如这样的问题:
'gbk' codec can't decode byte 0xc1 in position 8687: incomplete multibyte sequence
表示在编码或者解码的过程当中,碰到无法编解码的字符。
如果你不希望被这样的错误中断程序的运行,可以加上一个忽略这类错误的参数ignore.
line = line.decode('gbk', 'ignore') line = line.encode('utf-8', 'ignore')
表示忽略掉无法转换的字符。
相关文章推荐
- Python字符串的编码和解码
- python 解码base64编码邮件
- python 的编码与解码
- 使用Python的base64 编码模块,编写去除 “=”的解码函数
- Python3中字符串的编码与解码以及编码之间转换(decode、encode)
- Base64系列第二篇 python中使用Base64编码解码
- python的编码问题|encode(编码)decode(解码)
- python中的编码解码问题
- Python中json格式数据的编码和解码
- python中的编码与解码
- python进行Base64编码和解码
- Python中json格式数据的编码与解码方法详解
- python乱码浅析-乱码解码及数据库编码配置
- Python加密—Base64编码解码
- Python中json格式数据的编码和解码
- 使用Python编码、解码JSON对象
- python中的编码和解码
- Python字符串的编码与解码(encode与decode)
- python unicode 及解码编码方式简介
- 从Python的角度来看编码与解码