Python で UTF-8 でエンコードされた文字列オブジェクトから倍精度浮動小数点スコアを取得しようとしています。アイデアは、文字列の最初の 8 バイトを取得して を作成することfloat
です。これにより、スコア順に並べられた文字列は、最初の 8 バイト (または、すべてを強制的に正符号エラーを避けるため)。
例えば:
get_score(u'aaaaaaa') < get_score(u'aaaaaaab') < get_score(u'zzzzzzzz')
bit-shift-left と XOR を使用して整数でスコアを計算しようとしましたが、それを値に変換する方法がわかりませんfloat
。これを行うためのより良い方法があるかどうかもわかりません。
前に指定した条件が満たされるように、文字列のスコアをどのように計算する必要がありますか?
編集:文字列オブジェクトはUTF-8でエンコードされています(@Bakuriuのコメントによる)。