Python文字列のu'\ufeff' 質問する

Python文字列のu'\ufeff' 質問する

次の例外メッセージでエラーが発生しました:

UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in
position 155: ordinal not in range(128)

何が原因かわかりませんがu'\ufeff'、Web スクレイピング中に表示されます。どうすればこの状況を改善できますか?.replace()文字列メソッドは機能しません。

ベストアンサー1

私はPython 3でこれに遭遇し、この質問を見つけました(そして解決)。ファイルを開くときに、Python 3 はエンコーディングを自動的に処理する encoding キーワードをサポートしています。

これがないと、読み取り結果に BOM が含まれます。

>>> f = open('file', mode='r')
>>> f.read()
'\ufefftest'

正しいエンコーディングを指定すると、結果では BOM が省略されます。

>>> f = open('file', mode='r', encoding='utf-8-sig')
>>> f.read()
'test'

あくまでも私の意見です。

おすすめ記事