エンコードの問題があります。同じコードでも、Android と Windows では異なる出力が生成されます。Android アプリケーションを変更できないため、Windows で解決策を見つける必要があります。これはコードです:
public void test() throws UnsupportedEncodingException
{
byte[] a = {-95, -10, -63, -74, 99, -10, 74, -56, -85, 105};
String ab = new String(a,"UTF-8");
System.out.println("out:"+Arrays.toString((new StringBuilder(String.valueOf(ab))).toString().getBytes("UTF-8")));
}
出力:
out:[-17, -65, -67, -17, -65, -67, 118, 99, -17, -65, -67, 74, -56, -85, 105] (on Android)
out:[-17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, 99, -17, -65, -67, 74, -56, -85, 105] (on Windows)
Androidは「java.nio.charset.CharsetICU[UTF-8]」を使っているようです。助言がありますか?
ありがとう、アレックス