码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-02-08 16:28:20      阅读:881      评论:0      收藏:0      [点我收藏+]

标签:read   decode   读取文件   print   网络传输   big5   编码方式   遇到   结果   

  在学习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日

不懂的还很多,慢慢积累。

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

标签:read   decode   读取文件   print   网络传输   big5   编码方式   遇到   结果   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!