2017-11-17 5 views
1

文字列データ型変数のcrc32を取得しようとしましたが、次のエラーが発生しました。あなたには、いくつかのデータのCRC32を計算している場合は、文字列の場合Python3文字列のcrc32を見つける

>>> message='hello world!' 
>>> import binascii 
>>> binascii.crc32(message) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: a bytes-like object is required, not 'str' 

はそれがbinascii.crc32(b'hello world!')で行うことができますが、私は文字列変数のデータ型のためにこれを行う方法を知っていただきたいと思い値

答えて

1

、あなたがする必要がありますあなたがハッシュしているバイトの正確な値を知っている。 1つの文字列は異なるエンコーディングのバイトの異なる値を表すことができるため、文字列をパラメータとして渡すことはあいまいです。

binascii.crc32(b'hello world!')を使用している場合、変換として単純なASCIIテーブルを使用して、char配列をバイト配列に変換しています。

は、任意の文字列を変換するには、使用することができます。

import binascii 
mes = 'hello' 
binascii.crc32(mes.encode('utf8')) 
関連する問題