[解決済み】UnicodeDecodeError, invalid continuation byte
2022-02-09 01:25:39
質問
以下の項目はなぜ失敗するのでしょうか?コーデックがquot;latin-1"であれば成功するのはなぜですか?
o = "a test of \xe9 char" #I want this to remain a string as this is what I am receiving
v = o.decode("utf-8")
という結果になる。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\encodings\utf_8.py",
line 16, in decode
return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError:
'utf8' codec can't decode byte 0xe9 in position 10: invalid continuation byte
解決方法は?
バイナリでは、0xE9は次のようになります。
1110 1001
. を読むと
ウィキペディアのUTF-8
という形式のバイトが2つ続かなければならないことがわかります。
10xx xxxx
. そこで、例えば
>>> b'\xe9\x80\x80'.decode('utf-8')
u'\u9000'
しかし、それはあくまで例外の機械的な原因である。この場合、ほぼ間違いなくlatin 1でエンコードされた文字列があります。UTF-8とlatin 1がどのように異なって見えるか、おわかりいただけると思います。
>>> u'\xe9'.encode('utf-8')
b'\xc3\xa9'
>>> u'\xe9'.encode('latin-1')
b'\xe9'
(注意:ここではPython 2と3の混在した表現を使っています。入力はどのバージョンのPythonでも有効ですが、あなたのPythonインタプリタが実際にこの方法でユニコードとバイト文字列の両方を表示することはまずないでしょう)。
関連
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
PythonはWordの読み書きの変更操作を実装している
-
Python Pillow Image.save jpg画像圧縮問題
-
Python 入出力と高次代入の基礎知識
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] UnicodeDecodeError: 'charmap' コーデックは、位置YのバイトXをデコードできません:文字は<undefined>にマップされます。
-
[解決済み】"for line in... "でUnicodeDecodeErrorが発生:'utf-8'コーデックはバイトをデコードできない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python百行で韓服サークルの画像クロールを実現する
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
Pythonショートビデオクローラーチュートリアル
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】NameError: 名前 'self' が定義されていません。