python字符编码解码,文件编码解码。

 2023-09-06 阅读 19 评论 0

摘要:一.几个特别容易混淆和弄不清的概念 参考http://www.cnblogs.com/guosq/p/6378639.html 在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,即编码unicode→str,解码str→unicode,其中str指的是字节流&

一.几个特别容易混淆和弄不清的概念

参考http://www.cnblogs.com/guosq/p/6378639.html
在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,即编码unicode→str,解码str→unicode,其中str指的是字节流,而str.decode是将字节流str按给定的解码方式解码,并转换成utf-8形式,u.encode是将unicode类按给定的编码方式转换成字节流str。

1.对于字符的编码解码

普通字符串,unicode字符串,以指定方式编码的字符序列。

2.对于文件的编码解码

文件的编码就是文件所存储字符串的编码方式


3.python代码第一行的# -*- coding:utf-8 -*-


4.sys.setdefaultencoding


二.常见错误类型

当我调用str1.decode('utf-8')的时候
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 0: invalid continuation byte

三.常见使用方式

1.将unicode字符转成utf-8编码的序列

>>> u'你好'.encode('utf-8')
'\xe4\xbd\xa0\xe5\xa5\xbd'

2.将unicode字符转化成gbk编码的序列

>>> u'你好'.encode('gbk')
'\xc4\xe3\xba\xc3'

3.将字符串转化成unicode字符

首先我们无法得知给定的一个字符串是以什么方式编码的。
我们猜测是utf-8编码的,就以utf-8来进行解码 str2.decode('utf-8'),从而得到unicode
若我们猜测是gbk编码的,就以gbk来进行解码,str3.decode('gbk'),从而得到unicode

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/6902.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息