from urllib import urlopen
web = urlopen("http://typographyforlawyers.com/straight-and-curly-
quotes.html").read()
web = web.replace("\xe2\x80\x9c".decode('utf8'), '"')
"\ xe2 \ x80 \ x9c"は中かっこのUTF-8文字です。私はこのコードを使用してウェブサイトでのカーリー引用符を見つけるためにしようとすると、私はこのエラーを取得する:Python 2.7 - UTF-8文字の検索
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
web = web.replace("\xe2\x80\x9c".decode('utf8'), '"')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 2265:
ordinal not in range(128)
このエラーは、何を意味する私が間違って何をやっている、と私はそれをどのように修正するのですか?
私はこの回答が好きですが、説明がより明示的になる可能性があります。 WebレスポンスをUnicodeに変換し、 'bytes'オブジェクトを使用してデコードするので、asciiコーデックに触れる理由はありません。また、HTML文書は ''タグと 'utf-8'のエンコーディングを頻繁に入れているのが正しいとは限りません。通常は正しくありますが、保証されません。 – tdelaney
この回答をいただきありがとうございます。それは意味があります。 – Dman42