1. ホーム
  2. python

[解決済み] Python 3 で文字列リテラルの前にある 'b' 文字 do を削除する [重複] [重複] 。

2022-02-24 16:33:37

質問

私はPythonプログラミングの初心者ですが、少し混乱しています。私はハッシュと暗号化するために文字列からバイトを取得しようとしましたが、私は得た。

b'...'

以下の例のように、文字列の前にb文字がある場合。これを回避する方法はありますか?このような愚かな質問で申し訳ありません。

import hashlib

text = "my secret data"
pw_bytes = text.encode('utf-8')
print('print',pw_bytes)
m = hashlib.md5()
m.update(pw_bytes)

OUTPUTです。

 print b'my secret data'

解決方法は?

デコードが冗長

そもそも、この"error"は、誤解があるから出ただけでしょう。

を取得します。 b にエンコードしているからです。 utf-8 で、今はbytesオブジェクトになっています。

 >> type("text".encode("utf-8"))
 >> <class 'bytes'>

修正しました。

  1. 最初に文字列を表示すればいいのです
  2. エンコード後にデコードを冗長化する