TypeError を修正: Unicode のデコードは Python ではサポートされていません
-
Python での
TypeError: Unicode のデコードはサポートされていません
-
Python での
TypeError: Unicode のデコードはサポートされていません
を修正する - まとめ
この記事では、Python での TypeError: Unicode のデコードはサポートされていません
エラーの解決について説明します。
Python での TypeError: Unicode のデコードはサポートされていません
Unicode 文字列は、0
から 0x10FFFF
(10 進数で 1,114,111) までの範囲の数字であるコード ポイントのコレクションです。 メモリ内のこの一連のコード ポイントを表すために使用する必要があるコード単位のセットは、8 ビット バイトにマップされます。
文字エンコーディング、または単にエンコーディングは、Unicode テキストを一連のバイトに変換する方法を決定する一連の規則です。 あなたの最初の考えは、コーディング単位として 32 ビット整数を使用し、次に CPU の 32 ビット整数の表現を使用することでした。
最も広く使用されているエンコーディングの 1つは UTF-8 で、Python がデフォルトで頻繁に使用します。 UTF は Unicode Transformation Format の略で、8
はエンコーディングが 8 ビット値を使用することを示します。
UTF-8 ほど一般的ではありませんが、UTF-16 や UTF-32 などの他のエンコーディングもあります。
コード例:
result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
出力:
TypeError: decoding Unicode is not supported
Python でのTypeError: Unicode のデコードはサポートされていません
を修正する
このエラーを解決するには、この行 result = Unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
の構文を result = google.searchGoogle(param) に変更する必要があります .encode("utf-8")
. google.searchGoogle(param)
の後に UTF-8 を削除する必要があります。これにより、以下の例に示すように、Unicode のデコードがサポートされていないというエラーが解決されます。
結果 = google.searchGoogle(param).encode("utf-8")
もう 1つは、Python のTypeError: デコーディング str はサポートされていません
です。 これは、オブジェクトを文字列に変換しようと繰り返し試みた場合、または最初にバイト オブジェクトを渡さずに str()
メソッドを呼び出した場合に発生します。
コード例:
str("even", str(123))
str("abc", encoding="utf-8")
出力:
TypeError: decoding str is not supported
上記の例では、str
クラスが 2 回参照されています。 各呼び出しは他の呼び出し内にネストされます。 適切なバイト オブジェクトが提供されていません。 代わりに、encoding キーワード引数が設定されます。
有効なバイト オブジェクトが指定された場合にのみ、エンコーディングを構成できます。
このエラーを回避するには、書式設定された文字列リテラルを使用できます。 このエラーは、文字列形式インターフェイスまたは最新の形式の文字列リテラルを使用して防ぐことができます。
さらに、これらのオプションは、より強力で適応性が高く、拡張可能な方法を提供します。
str1 = "even"
num1 = 2, 4, 6, 8
result = f"{str1} {num1}"
print(result)
出力:
even (2, 4, 6, 8)
まとめ
出力を UTF-8 にエンコードしたいが、正しい構文を使用していない場合、正しいバイト オブジェクトが提供されていないために Python decoding Unicode is not supported
というエラーが発生することがあります。 別のエラー デコーディング str
は Python ではサポートされていません。
有効なバイト オブジェクトが提供された場合にのみ、エンコーディングを定義できます。 上記の記事はこれらのエラーを修正します。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません