我有base 64編碼的字符串,看起來像這樣。如何將base64字符串轉換爲二進制數組使用php
cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=
我試過base64_decode和輸出是。
råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø
我想我可能會做錯事。我感謝任何幫助將base64字符串轉換爲二進制數組。
感謝
我有base 64編碼的字符串,看起來像這樣。如何將base64字符串轉換爲二進制數組使用php
cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=
我試過base64_decode和輸出是。
råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø
我想我可能會做錯事。我感謝任何幫助將base64字符串轉換爲二進制數組。
感謝
這樣
$a = base64_decode("cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=");
$b = array();
foreach(str_split($a) as $c)
$b[] = sprintf("%08b", ord($c));
print_r($b);
謝謝。我試圖base64_decode($ key)並創建一個像這樣的認證簽名hash_hmac(「sha1」,$ ID,base64_decode($ key),true);但它不起作用。難道我做錯了什麼?我感謝您的幫助。 – Nick 2010-09-19 11:55:18
你已經是從base64_decode
得到的二進制數據回(如果編碼的數據,其實是二進制),僅此二進制數據被解釋爲編碼一些無論你輸出到什麼文本(瀏覽器?)。 「0011010110011001」輸出本身也只能是文本,它將使用一些(不同的)二進制流進行編碼。計算機在內部不適用於1和0,與普遍認爲的相反。如果你想以1和0的形式顯示二進制數據,你需要自己進行二進制/文本轉換。不過,通常這是一件毫無意義的事情。
你可能已經在做正確的事情。你的錯誤在於期待二進制數據被表示爲「0100101010」。
你期望什麼樣的數據? – Gumbo 2010-09-19 10:33:24
您正在將二進制數據解釋爲文本,這顯然不是您想要的。二進制數組究竟是什麼意思? – 2010-09-19 10:35:41
看起來這不是一個有效的base64編碼字符串 - 你是自己編碼該字符串還是從其他地方獲得它? – xil3 2010-09-19 11:02:10