1. 程式人生 > >python 字符串轉列表出現ufeff的解決方法

python 字符串轉列表出現ufeff的解決方法

發現 文本編輯器 con spl encoding cond 標準 body lis

  在學習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的解決方法