我想計算一個字符串所包含的位數。 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 - 返回類型提示 –