Python的文本文件转换编码问题怎么解决


这篇文章主要介绍“Python的文本文件转换编码问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python的文本文件转换编码问题怎么解决”文章能帮助大家解决问题。注:测试文本采用UTF-8编码,通常汉字是占三个字节。GBK中汉字通常是占2个字节。控制台输出 这个函数执行的输出没有什么意义,只是我要知道它执行了没,所以打印的。测试文件夹 data1.txt是转换编码后的文本。从生成的文件来看,因为只含有一个字,所以只比较大小就知道是否转换成功了。当然了,直接打开查看也是可以的,但是直接打开查看的话,没有什么效果,都会显示一个汉字。所以,这里我们另辟蹊径,使用不一样的查看方式!注意:data.txt是采用的UTF-8编码的,而data1.txt是采用的GBK编码的。因为国内使用的Windows默认采用的中国的编码方式,所以它显示不了UTF-8编码的文本。第三个输出是查看当前使用的编码,它返回的是编码的代号,详见下图:注:GBK是兼容GB2312的编码。使用python的话,对于单个文件进行编码转换,只需要7行代码就够了!上面我写了两个函数,但是功能是一样的,区别在于第一个函数是以特定的编码方式读取文本信息,然后直接以另一种编码方式写入。第二个函数是以二进制形式读取文件内容,然后解码再转码写入。它的原理都是一样的,即必须包括依次解码和转码操作。编码、解码、字符集本身是很复杂的,往深入了讲我也不会了。这里可以这样简化理解,两个不同编码的字符集具有相同的字符,所以将UTF-8编码文件读取出来,是为了得到它映射的字符,然后再写入,是为了将它映射为另一种编码字符集,所以说字符类似于中转站的功能。 而直接使用一种字符集去读取另一种字符集的内容,就会出现上面cmd中显示的乱码。PS: 所以,也可以解释一个问免费云主机域名题,即为什么打开一个大的文本文件,会导致程序卡死!因为一个大的文本文件,里面包含了很多需要解码的字符。这就和排队有点类似,每一个字符等待被解码,虽然处理一个字符很快,但是一个大的文本文件,包含了大量的字符。例如,notepad++打开大文本毫无压力, 我打开这个超大型的文本,还是直接把它卡死了!(这里的排队只是一个比喻,实际的情况我也不太清楚,但是它一定是需要挨个处理的。)我们对其进行估计,假设所有字符都是中文(实际的话,还是包含一些英文的,当总的来说还是中文占多数。)这里显示是大约5千万的字符需要解码,所以计算机处理起来仍然是很吃力的,notepad++可以查看摘要,但是直接打开就卡死了,这里就不进行尝试了。关于“Python的文本文件转换编码问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: php如何删除数组中的指定的值

今天小编给大家分享一下php如何删除数组中的指定的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 在PHP中,数组是一种重要的数据类型,它可以…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/30 15:46
Next 06/30 15:46

相关推荐