导航:首页 > 编程语言 > python文件转码

python文件转码

发布时间:2024-09-09 12:23:55

A. python文件处理里encoding和encode有事区别,bytes类型是什么意思

python问题我来回答你。

  1. 首先你要知道的是,字符串在Python内部的表示是unicode(统一码、万国码)编码,很多编程语言都是这么设计的,各个国家通用编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

    decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

    encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。

    因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码。

  2. bytes类型是 Python 3.x版本新增的数据类型,在 Python 2.x 中是不存在的。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。

    bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。

    说白了,bytes 只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes 并不在意,你想怎么使用就怎么使用,bytes 并不约束你的行为。

    bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程;bytes 也可以用来存储图片、音频、视频等二进制格式的文件。

举个例子:

b = b'' # 创建一个空的bytes

b = byte() # 创建一个空的bytes

b = b'hello' # 直接指定这个hello是bytes类型

b = bytes('string',encoding='编码类型') #利用内置bytes方法,将字符串转换为指定编码的bytes

b = str.encode('编码类型') # 利用字符串的encode方法编码成bytes,默认为utf-8类型

bytes.decode('编码类型'):将bytes对象解码成字符串,默认使用utf-8进行解码。

B. Python3 调用 encode 转码之后,怎么再转回去

转回去就用 str.decode(chrset)

一点解释:

python3x中

decode(chrset)解码函数,得到的都是unicode编码。

encode(chrset)编码函数,得到的是chrset对应编码的。

chrset可以是utf-8,gbk,gb2312等等各种编码。

C. python怎么转换unicode编码

用decode()就行。decode()方法必须传入一个参数,这个参数就是当前待转码的编码,此函数方法的用意就是将当前编码为Unicode编码。

比如就你这提问的此页面:

#使用版本是python2.
importurllib
url='https://..com/question/1499967322379602619.html?entry=qb_ihome_tag&hideOtherAnswer=true&newAnswer=1'
html=urllib.urlopen(url).read()
result=html.decode('gbk')
printresult

方法是绝对可行的

此法对字符串和文档内容的解码一样有效。

D. python 中文乱码问题

记事本是用utf-8保存你下载了东西的。你下载下来的不是utf-8,保存下来中文当然就乱码了。而gbk和utf-8里英文的编码值都一样,所以不受影响。

一个方法是你留意下目标页面的charset 和 contentType,另一个方法是你复制一个目标页面的字,放cmd里看它的编码长度,以此来判断它的原来编码。

阅读全文

与python文件转码相关的资料

热点内容
金融服务器是干什么的 浏览:20
揭阳陀螺世界源码 浏览:177
次梁加密长度怎么规定的 浏览:238
如何做很解压的球 浏览:186
java设置字符集 浏览:595
为什么有的程序员都不愿去国企 浏览:508
2021算法岗校招工资表最新 浏览:618
怎样给变频器加密码 浏览:395
程序员大作战视频 浏览:975
低成本的昂科编程器 浏览:579
886设置加密方式 浏览:523
突然放量预警源码 浏览:754
linux命令行分辨率 浏览:347
程序员不晋升能干到多少岁 浏览:378
谷歌推广用什么服务器 浏览:628
和平精英安卓怎么登苹果系统 浏览:147
除法的心算法 浏览:303
音乐源码下载 浏览:719
编程拖放 浏览:43
linux卸载tomcat 浏览:875