2010-09-19 6 views
3

J'ai une chaîne codée en base 64 qui ressemble à ceci.Comment convertir la chaîne base64 en tableau binaire en utilisant php

cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg= 

J'ai essayé base64_decode et la sortie est.

råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø 

Je pense que je peux faire quelque chose de mal. J'apprécie toute aide pour convertir la chaîne base64 en tableau binaire.

Merci

+2

Quel type de données attendez-vous? – Gumbo

+0

Vous interprétez les données binaires sous forme de texte, ce qui n'est évidemment pas ce que vous voulez. Que voulez-vous dire exactement par tableau binaire? –

+0

Il ne semble pas que ce soit une chaîne encodée en base64 valide - avez-vous encodé cette chaîne vous-même, ou l'avez-vous obtenue ailleurs? – xil3

Répondre

3

comme celui-ci

$a = base64_decode("cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg="); 
$b = array(); 
foreach(str_split($a) as $c) 
    $b[] = sprintf("%08b", ord($c)); 
print_r($b); 
+0

Merci. J'essaie de base64_decode ($ key) et de créer une signature d'authentification comme hash_hmac ("sha1", $ ID, base64_decode ($ key), true); Mais ça ne fonctionne pas. Est-ce que je fais quelque chose de mal? J'apprécie ton aide. – Nick

0

Vous avez déjà sont obtenir des données binaires retour de base64_decode (si les données codées était en binaire fait), que ces données binaires est interprété comme le codage pour certains texte par tout ce que vous publiez (navigateur?). Une sortie "0011010110011001" elle-même ne serait que du texte, qui serait encodé en utilisant un flux binaire (différent). L'ordinateur ne fonctionne pas avec les 1 et 0 en interne, contrairement à la croyance populaire. Si vous voulez visualiser les données binaires sous la forme de 1 et de 0, vous devrez faire la conversion binaire/texte vous-même. Habituellement, c'est une chose assez inutile à faire, cependant.

Vous faites probablement déjà la bonne chose. Votre erreur consiste à attendre que les données binaires soient représentées par "0100101010".

Questions connexes