文档章节

python实现字符编码的转换

开心皮蛋粥
 开心皮蛋粥
发布于 2017/03/29 10:12
字数 127
阅读 10
收藏 0

开发过程中经常会遇到一些字符编码的问题,于是找了一个转换字符编码的函数

 

import sys

def filter( srcFile, encode, trgFile ):
	error = True

	while error:
		try:
			fs = open( srcFile, encoding = encode )
			content = fs.read()
			fs.close()

			error = False
			print( 'Success!' )
		except UnicodeDecodeError as ude:
			pos1, pos2 = ude.args[2], ude.args[3]
			fs = open( srcFile, 'rb' )
			content = fs.read()
			fs.close()

			content = content[:pos1] + content[pos2+1:]

			ofs = open( srcFile, 'wb' )
			ofs.write( content )
			ofs.close()

		except:
			print( 'Other error happened!' )
			break

if __name__ == '__main__':
	if len(sys.argv) < 4:
		print( 'Usage:' )
		print( sys.argv[0] + ' input-file input-encoding output-file' )
	else:
		filter( sys.argv[1], sys.argv[2], sys.argv[3] )

© 著作权归作者所有

开心皮蛋粥
粉丝 0
博文 12
码字总数 3637
作品 0
其他
私信 提问
人人都能学会的python编程教程3:字符串和编码

字符串 在python3中已经全面支持中文。 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码...

编程老司机
2018/05/10
0
0
详解 python 中文编码与处理

注意:本文只是针对 python 2,在 python 3 中,编码方式与处理技巧有些许变化,具体请参考: Python 2 与 Python 3 的差异对比: http://my.oschina.net/leejun2005/blog/173553 一、使用中...

大数据之路
2012/08/24
0
0
廖雪峰Python教程学习笔记

Python基础 字符串和编码 字符编码 计算机在读取和编辑、保存、传输时文本时使用UTF-8编码,在内存中表示时使用Unicode编码 UTF-8编码使用一个字节表示英文字符,使用2-6字节表示其他语言字...

OSC_fly
2018/08/10
0
0
将python2中汉字会出现乱码的事一次性说清楚

1、写的代码模块需要指定编码 如果代码没有指定coding,python就默认所有的字符为ASCII码, ASCII码只支持256个字符,ASCII码不支持中文,所以就报错。 所以要在代码前写上#coding:utf-8或#codi...

shshi
2013/12/09
0
0
Python2 和 Python3 中默认编码的差异

最近在使用 Python3.4 做一些脚本实现,发现对于编码的处理上和 Python2.6 有很大的不同,就此机会把相关知识做个梳理,方便需要的时候查阅。 先说下概念和差异: 脚本字符编码:就是解释器解...

sylan215
2018/07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

全面剖析 Knative Eventing 0.6 版本新特性

前言 Knative Eventing 0.6 版本已经于5月15号正式发布。相比于0.5版本,此次发布包含了一些重要特性及更新。针对这些新特性以及更新,我们如何快速、精准的定位主要技术点。本篇文章针对这些...

阿里云官方博客
18分钟前
1
0
在闲鱼,我们如何用Dart做高效后端开发?

背景 像阿里其他技术团队以及业界的做法一样,闲鱼的大多数后端应用都是全部使用java来实现的。java易用、丰富的库、结构容易设计的特性决定了它是进行业务开发的最好语言之一。后端应用中数...

阿里云云栖社区
19分钟前
12
1
初学Docker容器网络不得不看的学习笔记

【技术沙龙002期】数据中台:宜信敏捷数据中台建设实践|宜信技术沙龙 将于5月23日晚8点线上直播,点击报名 一、关于Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0...

宜信技术学院
22分钟前
7
0
Django框架配置

今天我们学习Django框架配置,首先先来看一下如何在Django中创建APP! 1.Django中创建APP 首先我们打开PyCharm,找到之前你创建的Django项目,我的项目是First_Project: (1)先选中你要运行...

彩色泡泡糖
23分钟前
1
0
git代码迁移

一、从阿里云code迁移到gitLab 1、在gitLab上新建一个项目Bicon,添加私钥 2、从原地址克隆一份裸版本库 git clone --bare git://xxxx_Bicon.git 这里的地址是阿里云code的地址 3、以镜像推送...

星爵22
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部