1

安全なキーハッシュを生成するために PyCrypto を使用しています。生成した 1 つ以上の部分キーを保存したいと考えています。各部分キーの形式は

\x0f|4\xcc\x02b\xc3\xf8\xb0\xd8\xfc\xd4\x90VE\xf2

StringProperty()その情報を保存するための ndbがあります。ただし、BadValueErrorUTF-8 でエンコードされた文字列が必要であるということわざがあります。str の.encode('uft-8')メソッドを使用してみましたが、位置が悪いためにエンコードできなかったというエラーも発生します。

とにかく、私の質問は、そのバイト文字列をndbに保存できるものに変換するにはどうすればよいですか?

4

1 に答える 1

2

改善された回答:

この場合、キーを文字列またはテキストとして格納する代わりにBlobProperty、解釈されていないバイト文字列を格納する を使用する必要があります。

元の回答:

バイト (文字列) を Unicode に変換するには、メソッドを使用しますdecode。また、元のバイナリ データを保持するエンコード (ISO-8859-1) を使用する必要があります。ISO-8859-1 エンコーディングとバイナリ データの保存を参照してください。

unicode_key = key.decode('iso-8859-1')
bytes_key = unicode_key.encode('iso-8859-1')

StringProperties にはインデックスが付けられているため、代わりに A TextProperty を使用することも検討してください。

于 2013-04-25T17:20:23.743 に答える