python 字符串转列表出现\ufeff的解决方法

  在学习python从文件中读取文件,并将文件中的字符串转化为列表的时候,发现文件头多了一个\ufeff字符。

  这个问题前段时间也遇到过了,同样是上网搜索了半天才解决,当时只是把问题解决就过去了,但是今天遇到同样的问题时,知道有这么一个解决方法,但是怎么做就是想不起来。古人云,好记性不如烂笔头,一点没错。进入正题。

  几个概念性的东西   

  ANSCII: 

标准的 ANSCII 编码只使用7个比特来表示一个字符,因此最多编码128个字符。扩充的 ANSCII 使用8个比特来表示一个字符,最多也只能 编码 256 个字符。 

  UNICODE: 使用2个甚至4个字节来编码一个字符,因此可以将世界上所有的字符进行统一编码。 

  UTF: UNICODE编码转换格式,就是用来指导如何将 unicode 编码成适合文件存储和网络传输的字节序列的形式 (unicode -> str)。像其他的一些编码方式 gb2312, gb18030, big5 和 UTF 的作用是一样的,只是编码方式不同。 

在Windows下用文本编辑器创建的文本文件,如果选择以UTF-8等Unicode格式保存,会在文件头(第一个字符)加入一个BOM标识。具体去除方法看看下面代码
 1 # filename: example.py
 2 # conding=utf-8
 3
 4 f = open("news.txt", "r",encoding=‘utf-8‘)
 5 file = f.read()
 6 file_list = file.split(",")
 7 print(file_list)
 8
 9 file_list2 = file.encode(‘utf-8‘).decode(‘utf-8-sig‘)
10 print(file_list2)
11
12
13 #打印结果如下
14 [‘\ufeff新华社北京2月8日电2月8日‘]
15 新华社北京2月8日电2月8日
不懂的还很多,慢慢积累。

原文地址:https://www.cnblogs.com/mjiang2017/p/8431977.html

时间: 2024-10-09 14:21:32

python 字符串转列表出现\ufeff的解决方法的相关文章

Python IOError: [Errno 22] invalid mode ('r') 解决方法

O'Reilly出版的Wes McKinney编的<Python for Data Analysis> 本人使用工具: PyCharm 2016.3.2 rnames =['user_id','movie_id','rating','time_cd'] ratings = pd.read_table('data\ml-1m\ratings.dat',sep='::',header=None,names=rnames) 报错信息如下: 原因:\ratings.dat 中的 "\r&qu

Python使用easy-install安装时报UnicodeDecodeError的解决方法

Python使用easy-install安装时报UnicodeDecodeError的解决方法,有需要的朋友可以参考下. 问题描述: 在使用easy-install安装matplotlib.pyparsing时一直报如下错误: File "G:\Python27\lib\ntpath.py", line 84, in join result_path = result_path + p_path UnicodeDecodeError: 'ascii' codec can't decod

Ubuntu下 fatal error: Python.h: No such file or directory 解决方法

参考: fatal error: Python.h: No such file or directory Ubuntu下 fatal error: Python.h: No such file or directory 解决方法 根据使用的Python版本安装python-dev库. sudo apt-get install python-dev # for python2.x installs sudo apt-get install python3-dev # for python3.x i

5.三目运算符,C语言数组,链表和Python字符串,列表的联系

1.三目运算,三元运算 if l==1: name = "alex" else: name = "eric" name = "alex" if l==1 esle "eric" print(name) 2.c与python的联系 str,字符串的功能一般是生成一个新的字符串(去括号,替换等)列表,字典的功能一般是在它们里面做修改这是为什么呢? li = [11, 22] 列表若是在地址中连续存储的话,那么我们要插入,修改要需要

Python字符串、列表、元组、集合、字典方法

列表list 1.L.append(object) -> None 在列表末尾添加单个元素,任何类型都可以,包括列表或元组等 2.L.extend(iterable) -> None 以序列的形式,在列表末尾添加多个元素 3.L.insert(index, object) -> None 在index位置处添加一个元素 4.L.clear() -> None 清除列表所有元素,成为空列表 5.L.copy() -> list 获得一个列表副本 6.L.count(A) -&g

python字符串与列表的相互转换

1.字符串转列表 2.列表转字符串 1. 字符串转列表 s ='hello python !'li = s.split(' ') #注意:引号内有空格print (li)输出:['hello', 'python', '!'] 2. 列表转字符串 li = ['hello', 'python', '!'] s = ' '.join(li) #注意:引号内有空格 print(s) 输出: hello python ! 原文地址:https://www.cnblogs.com/hokky/p/8440

python字符串和列表之间相互转换

python字符串转化成列表,用split()方法, a='ab,cd,ef'print(a.split(',')) 列表转化为字符串,用join()方法. 1 a=['a','b'] 2 print(''.join(a)) 总结:字符串的一些常见内置函数还是要掌握牢固. 原文地址:https://www.cnblogs.com/lic0326/p/10970015.html

python字符串/元组/列表/字典互转

#-*-coding:utf-8-*- #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'}print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class')print tuple(dict)#字典可以转为元组,返回:(7,

【转】python字符串/元组/列表/字典互转

#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典可以转为元组,返回