文字列が構成するビット数をカウントします。 Pickleは、私が「文字列の種類」が何であるかを知らないということです。ユーザーが入力したとします。 strlen()は文字列のバイト数を返しますので、単純に8を掛けてもかまいませんが、sha256ハッシュが供給されていれば元の64ビット長の256ビットです。ここでstrlen()* 8ロジックを適用すると512ビットが得られます。だからここ文字列のビット数をカウントする
は私の仕事は周りです:
private function countBits(string $key) : int
{
$bits = (ctype_xdigit($key)) ? 4 : 8;
return strlen($key)*$bits;
}
だから、文字列がで構成されているビットの数をカウントするための適切な方法は何ですか?私は文字列が完全にhexitsで構成されていない場合は、常に8で乗算する必要があります、右か?またはまだいくつかのキャッチがありますか?
文字列内のビット数は、内容の解釈ではなく、バイト単位の長さに基づいています。文字の集合(1-9/af)をビットとして表現していますが、文字列がその解釈を知らない、または気にしない –
関数の後に ':int'とは何ですか? – Drone
@babuji - 返品の種類のヒント –