[問題] 如何把整份文件 ASCII轉UTF-8?

看板Python作者 ( )時間7年前 (2017/08/11 22:32), 7年前編輯推噓2(207)
留言9則, 6人參與, 最新討論串1/1
由於有需求 需要把一些txt檔 從ASCII轉UTF-8 如果是單純字串 從ASCII轉UTF-8 沒問題 可是整份文件 ASCII轉UTF-8 好像無法直接用字串的方法 有什麼好方法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.212.146 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1502461952.A.A6A.html ※ 編輯: opengood5566 (111.251.212.146), 08/11/2017 22:32:49

08/11 22:38, , 1F
讀進來再輸出啊
08/11 22:38, 1F

08/11 22:54, , 2F
read write
08/11 22:54, 2F

08/11 23:17, , 3F
ASCII是相容於UTF-8 你的需求應該有描述錯誤
08/11 23:17, 3F

08/12 00:26, , 4F
open("file").read().decode("ascii").encode("utf8")
08/12 00:26, 4F

08/12 00:49, , 5F
啊...decode/encode寫反了 XDD
08/12 00:49, 5F
謝謝 但是我出現以下訊息: Traceback (most recent call last): File "D:\gdrive\doc\tmp.py", line 43, in <module> f= open('AAA.txt').read().decode("ascii").encode("utf-8") UnicodeDecodeError: 'ascii' codec can't decode byte 0xa5 in position 44: ordinal not in range(128) 請問該怎麼解決呢 謝謝 ※ 編輯: opengood5566 (111.251.212.146), 08/12/2017 12:38:19

08/12 12:41, , 6F
就代表你的檔案不是ascii啊
08/12 12:41, 6F

08/12 21:59, , 7F
我想你要的是 codecs.open 或是 open(file,'rb')
08/12 21:59, 7F

08/13 01:38, , 8F
根據定義 ASCII 轉 UTF-8 一行 pass 就搞定惹
08/13 01:38, 8F

08/13 01:38, , 9F
問題是你的檔案根本不是 ASCII 編碼, 其他都是白搭
08/13 01:38, 9F
文章代碼(AID): #1PZS00fg (Python)