iT邦幫忙

1

如圖, 明明裡面是亂碼未甚麼不用解碼

下面的圖是從文件轉過來的
sys.path.append("taxt")
文件裡是正常的, 轉過來變亂碼, 但不解碼輸出正常, 解碼後反而輸不出來
要怎麼在一開始轉過來就是正常的呢
https://ithelp.ithome.com.tw/upload/images/20190727/20119136FMhJX0cFQB.pnghttps://ithelp.ithome.com.tw/upload/images/20190727/201191367nsWGZ3sDH.png

看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2019-07-27 23:55:32 檢舉
跟編碼有關吧,
你看到的跟電腦看到的不一樣.
你的文字檔不是存成UTF8的格式吧, 把右下角的UTF-8換成BIG5看看? 檔案儲存的編碼必須與讀取指定的編碼相同
這是跟檔案儲存的編碼有關
要做的是轉換編碼格式
解碼的定義比較偏向是本來檔案就有加密處理 要先解碼才能正常讀取
sja956 iT邦新手 5 級 ‧ 2019-07-28 21:10:40 檢舉
我總結一下大家的論點, 我是用ansi編碼儲存的, 所以解碼要用big5來解碼
如果要用utf-8的話, 一開始儲存就要用utf-8的格式
如果文字檔 是 ANSI 那 ENCODING要寫 ANSI ,不是BIG5 也不是 UTF-8,ANSI 有個好處就是本地化文字,壞處是如果拿到不同內碼的系統開,就會是亂碼
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
dragonH
iT邦超人 5 級 ‧ 2019-07-28 00:43:19
最佳解答

你的檔案是用 ansi 編碼儲存的

所以就會看到

�A�n
�ڦn
�j�a�n

要用 utf8 解

就把文件存成 utf8

https://ithelp.ithome.com.tw/upload/images/20190728/20117259oGJL7lCzjW.png

這個是有關open()預設編碼的參考

0
Ray
iT邦大神 1 級 ‧ 2019-07-28 00:41:18

你的 0xa7 在這裡:
https://ithelp.ithome.com.tw/upload/images/20190728/20026603UfKE19C6BV.png

所以用 UTF-8 去解當然會死掉, 因為 0xa7 不是 Unicode..

如果 taxt.txt 原本就是 UTF-8 的話, 那這兩個字應該是:
0x4f60, 0x597d

1

雖然已經給了解答。但我還是想要說一下

明明只是編碼轉換的東西。
怎麼說的好像是加解密碼文件的感覺一樣@@"

沒人覺得哪邊怪怪的嘛??

用utf8加碼,然後用big5解碼???
不小心會帶壞小孩啦。

我要發表回答

立即登入回答