Descodificar shift-jis en android

¿Cómo puedo decodificar shift-JIS ( convertirlo en cadena ) en android?
He intentado algo como esto, pero no funciona

codificar:

String test = "some text"; byte[] bytes = test.getBytes("Shift_JIS"); 

descodificar:

 String decoded = new String(bytes, "Shift_JIS"); 

Tengo contactos japoneses guardados en mi dispositivo y estoy trabajando en la aplicación de copia de seguridad / restauración cuando restaurar contactos muestra caracteres indefinidos.
Así que creo que se guarda en la base de datos como Shift-JIS y quiero decodificarlo

Por lo que puedo ver en mi dispositivo Android (Motorola Razr que ejecuta 4.1.1) que correctamente codificar / decodificar Shift-JIS. El siguiente código de prueba

  try { String test = "インターネットをもっと快適に"; byte[] bytes = test.getBytes("Shift_JIS"); byte[] inShiftJis = { -125, 67, -125, -109, -125, 94, -127, 91, -125, 108, -125, 98, -125, 103, -126, -16, -126, -32, -126, -63, -126, -58, -119, -11, -109, 75, -126, -55 }; String decoded = new String(bytes, "Shift_JIS"); String fromShiftJis = new String(inShiftJis, "Shift_JIS"); Log.d(LOG_TAG, decoded); Log.d(LOG_TAG, fromShiftJis); } catch (UnsupportedEncodingException e) { } 

Salidas

 03-06 10:09:25.733: D/MainActivity(3490): インターネットをもっと快適に03-06 10:09:25.733: D/MainActivity(3490): インターネットをもっと快適に 

Por lo que podemos ver para codificar y decodificar está funcionando. Si crea un archivo de texto sin formato que contenga el mismo conjunto de bytes, puede confirmar que se trata de una codificación Shift-JIS, por ejemplo, verlo en un navegador, que le permitirá elegir la codificación de caracteres.

Por lo tanto, si está viendo caracteres indefinidos, sugeriría que no está en la codificación Shift-JIS (tal vez es información comprimida?) O está extrayendo los datos incorrectamente. Si puede guardar los datos como un archivo de texto, puede ser más rápido simplemente intentar abrirlo en un navegador y pasar por las distintas codificaciones de caracteres hasta encontrar la correcta.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.