我想计算一个字符串所包含的位数。 Pickle是我不知道“它是什么类型的字符串”,假设它的用户输入。由于strlen()返回string所拥有的字节数,我们可以简单地乘以8,但如果它提供了sha256散列(当raw为64位字符时为256位),该怎么办呢?在这里应用strlen()* 8逻辑会给我512位。计算字符串中的位数
因此,这里是我的解决方法:
private function countBits(string $key) : int
{
$bits = (ctype_xdigit($key)) ? 4 : 8;
return strlen($key)*$bits;
}
因此是计算该字符串包含的位数是正确的方法是什么?我的意思是如果字符串不是完全由六进制组成的,那么它应该总是乘以8,对吧?或者还有一些收获?
字符串中的位数完全取决于其长度(以字节为单位),而不是通过解释其内容....您将一组字符(1-9/af)解释为表示位,但是字符串不知道或者关心那个解释 –
函数之后是什么':int'? – Drone
@babuji - 返回类型提示 –