Je dois décoder une donnée codée en base64 reçue d'un serveur php.codage/décodage des données entre php/java pour android
Le serveur utilise 'base64_encode' pour coder les données.
Dans mon application Android, j'utilise la classe android.utils.Base64 pour faire le décodage.
données chiffrées d'origine = "† + Ü] M (‡ = Nô"
Base64 données en php donne ...... - "hisP3F1NBCgIAocQCD3x9g =="
données d'encodage base64 dans Android donne - « 4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y = »
Comme vous pouvez le voir, la chaîne codée java est plus long que le php codé. S'il vous plaît donner vos suggestions précieuses. Je dois trouver leurs formats d'encodage par défaut.
Comment obtenir le même chaîne codée des deux.?
java/code android:
String encrypted = "†+Ü]M(‡=ñö";
byte[] encoded = Base64.encode(encrypted.getBytes(), Base64.DEFAULT);
String str = new String(encoded); //str = "4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y="
encrypted.getBytes() dépend de l'encodage des paramètres régionaux. très probablement utf-8 dans votre cas. en php, cela dépendra du serveur, probablement un encodage 8 bits de taille fixe. les octets que vous donnez à votre encodeur base64 sont différents. – njzk2
@ userSeven7s: la sortie du PHP est basée sur CP1252, la sortie de JAVA est basée sur UTF-8, je vais mettre à jour ma réponse ci-dessous – Shehabix