我試圖用Python編寫一個腳本爲UTF-8文件轉換成ASCII文件:Python腳本從UTF-8轉換爲ASCII
#!/usr/bin/env python
# *-* coding: iso-8859-1 *-*
import sys
import os
filePath = "test.lrc"
fichier = open(filePath, "rb")
contentOfFile = fichier.read()
fichier.close()
fichierTemp = open("tempASCII", "w")
fichierTemp.write(contentOfFile.encode("ASCII", 'ignore'))
fichierTemp.close()
當我運行此腳本我有以下錯誤:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 13: ordinal not in range(128)
我認爲可以忽略編碼方法中忽略參數的錯誤。但似乎不是。
我打開其他方式轉換。
問題是,你從來沒有解碼的第一個地方。 – 2010-11-28 23:23:42
由於字符不存在於ASCII字符集中,所以您得到了錯誤,因此無法轉換。有時可以將UTF8字符映射爲ASCII中最接近的可視字符,如`e`到`e`,但這可以改變單詞的含義。您必須決定該路徑是否適用於您的應用程序。 – 2010-11-28 23:24:45
這似乎是一個非常糟糕的主意! – tchrist 2010-11-28 23:55:19