Codificación / decodificación de datos entre php / java para android
Tengo que decodificar un base64 datos codificados recibidos de un servidor php.
El servidor utiliza 'base64_encode' para codificar los datos.
- ¿Hay una manera de comprobar si la página se cargó desde el caché del navegador?
- Obtener imágenes y metadatos desde el servidor PHP a android
- Enviar solicitud de correo utilizando Volley y recibir en PHP
- Secure Asset / Media Folder a través del Auth Controller? Laravel 5.2
- El servidor GCM de Google devuelve Error no autorizado 401
En mi aplicación android, uso la clase android.utils.Base64 para hacer la decodificación.
Datos cifrados originales = "† + Ü] M (‡ = ñö"
Los datos de codificación Base64 en php dan …… – "hisP3F1NBCgIAocQCD3x9g =="
Base64 datos de codificación en android da – "4oCgKw / DnF1NBCgIAuKAoRAIPcOxw7Y ="
Como puede ver, la cadena codificada en java es más larga que la codificada en php. Por favor dé sus valiosas sugerencias. Necesito averiguar sus formatos de codificación por defecto.
Cómo obtener la misma cadena codificada de ambos.
Java / android código:
String encrypted = "†+ Ü]M(‡ =ñö"; byte[] encoded = Base64.encode(encrypted.getBytes(), Base64.DEFAULT); String str = new String(encoded); //str = "4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y="
- JSONException: No hay valor para id
- Algunas consultas sobre C2DM en Android
- ¿Cómo puedo verificar los símbolos generados por Android en mi servidor mediante PHP?
- "Http: // {root_dir} / oauth / token" Archivo no encontrado en Magento para registrar la aplicación REST API
- Cuando se llama a un archivo php con algún código js de android, el código js es la salida de una llamada
- Android VMD MySQL insertar y mostrar el diálogo
- El inicio de sesión de Android con el objeto json está vacío en la búsqueda incluso si la ejecución de archivos php en el navegador Chrome está bien
- Subiendo la imagen de android a un servidor PHP
Pruebe esto en Java: Esto le dará la versión larga de la cadena (UTF-8)
byte[] encoded = Base64.encode(encrypted.getBytes("UTF-8"), Base64.DEFAULT); String str = new String(encoded, "UTF-8");
Actualizado:
Pruebe esto en Java: Esto le dará la versión corta de la cadena (CP1252)
// This should give the same results as in PHP byte[] encoded = Base64.encode(encrypted.getBytes("CP1252"), Base64.DEFAULT); String str = new String(encoded, "CP1252");
Alternativamente pruebe este script PHP:
Archivo: test.php
<?php echo base64_encode($_GET['str'])." Default UTF-8 version<br />"; echo base64_encode(iconv("UTF-8","CP1252",$_GET['str']))." CP1252 Version <br />"; ?> usage: http://[SOMEDOMAIN]/test.php?str=†+Ü]M(‡=ñö
- Android: implemente la sugerencia de búsqueda de aplicaciones basada en la respuesta del servidor
- El servicio de reproducción de Google deja de funcionar cuando hago una compra con android.test.purchased