私は、ファイルから取った文字列をデコードしようとしています:のpython:ユニコード問題
file = open ("./Downloads/lamp-post.csv", 'r')
data = file.readlines()
data[0]
「\ XFF \ xfeKの\ x00e \ x00y \ x00w \ x00o \ x00r \ x00d \ X00 \トン\をx00o \ x00m \ x00m \ x00n \ x00n \ x00t \ x00h \ x00o \ x00n \ x00t \ x00h \ x00o \ x00m \ x00x \ x00x \ x00 \ x00l \ x00y \ x00 ¥x00S¥x00e¥x00a¥x00r¥x00c¥x00h¥x00e¥x00s¥x00¥t¥x00D¥x00e¥x00c¥x00 ¥x002¥x000¥x001¥x000¥x00¥t¥x00N \ x00o \ x00v \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00O \ x00c \ x00t \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00S \ x00e \ x00p \ x00x0000 \ x002 \ x000 \ x001 \ x002 \ x000 \ x001 \ x002 \ x000 \ x002 \ x00u \ x00l \ x00 \ x002 \ x000 \ x001 \ x002 \ x000 \ x001 \ x001 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x002 \ x000 \ x001 \ x000 \ x00 \ t0000 \ x0000 \ x00 \ t0000 \ x00 \ x00 \ t0000 \ x002 \ x000 \ x001 \ x002 \ x000 \ x00p \ x00r \ x00 ¥x002¥x000¥x001¥x00¥t¥x00M¥x00a¥x00r¥x00 ¥x002¥x000¥x001¥x000¥x00¥t¥x00F¥x00e¥x00b¥x00 ¥x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00J \ x00a \ x00n \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00A \ x00d \ x00 \ x00s \ x00h \ x00a \ x00r \ x00e \ x00 \ 0000 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00A \ x00v \ x00g \ x00。\ x00 \ x00C \ x00P \ x00C \ x00 \ t \ x 00E \ x00x \ x00t \ x00r \ x00a \ x00c \ x00tの\のx00e \ x00d \ X00 \ x00F \ x00r \ x00o \ x00m \ X00 \ x00W \ x00eの\のx00b \ X00 \ x00P \ x00a \ x00g \ x00eの\のX00 \ t \ x00L \ x00o \ x00c \ x00a \ x00l \ x00 \ x00M \ x00o \ x00n \ x00t \ x00h \ x00l \ x00y \ x00 \ x00s \ x00e \ x00a \ x00r \ x00c \ x00h \ x00e \ x00s \ x00 \ n 'は本当に助けていない無視の追加
...:
で[69]:データ[2] アウト[69]:U' \ u6700 \ u6100 \ u7200 \ u6400 \ u700 \ u700 \ u2000 \ u7000 \ u600 \ u7300 \ u7400 \ u0900 \ u3000 \ u2e00 \ u3900 \ u3400 \ u0900 \ u3800 \ u3800 \ u6e00 \ u2000 \ u6c00 \ u6e00 \ u2000 \ u3000 \ u0900 \ u0000 \ u0000 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 u3000 \ u3000 \ u3000 \ u3000 \ u3000 \ u0000 \ u0000 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \ u003 \
In [70]:data [2] .decode( "utf-8"、[UTF8]、[UTF8]、[UTF8]、[UTF8] "replace") -------------------------------------------- ------------------------------- トレースバック(最新の最終コール)
/ユーザー/ oleg/in ()
デコードに/opt/local/lib/python2.5/encodings/utf_8.py (入力、エラー) 14 15 DEF(入力、エラーが= '厳密')を復号化: ---> 16戻りコーデック.utf_8_decode(入力、エラー、 真) 18クラスIncrementalEncoder(コーデック。IncrementalEncoder):
: 'ASCII' コーデックは位置0から87までの文字 をエンコードすることはできません:順序ではない[71]において 範囲(128)
で:
私の答えは間違いなく動作します。しかし、デコードできない文字を無視したり置き換えたりする必要があります。 – orlp