Tôi phải giải mã dữ liệu được mã hóa base64 nhận được từ máy chủ php.mã hóa/giải mã dữ liệu giữa php/java cho android
Máy chủ sử dụng 'base64_encode' để mã hóa dữ liệu.
Trong ứng dụng Android của tôi, tôi sử dụng lớp android.utils.Base64 để thực hiện giải mã.
gốc dữ liệu được mã hóa = "† + U] M (‡ = no" dữ liệu
Base64 mã hóa trong php cho ...... - "hisP3F1NBCgIAocQCD3x9g =="
dữ liệu mã hóa Base64 trong android cho - "4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y ="
Như bạn thấy, chuỗi java mã hóa dài hơn php mã hóa. Xin vui lòng cho ý kiến đóng góp của bạn. tôi cần phải tìm ra các định dạng mã hóa mặc định của họ.
Làm thế nào để có được cùng một chuỗi được mã hóa từ cả hai.?
java/code android:
String encrypted = "†+Ü]M(‡=ñö";
byte[] encoded = Base64.encode(encrypted.getBytes(), Base64.DEFAULT);
String str = new String(encoded); //str = "4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y="
encrypted.getBytes() phụ thuộc vào bảng mã miền địa phương. rất có thể là utf-8 trong trường hợp của bạn. trong php, nó sẽ phụ thuộc vào máy chủ, có khả năng mã hóa 8 bit kích thước cố định. các byte bạn cung cấp cho bộ mã hóa base64 khác nhau. – njzk2
@ userSeven7s: đầu ra từ PHP dựa trên CP1252, đầu ra từ JAVA dựa trên UTF-8, tôi sẽ cập nhật câu trả lời của tôi bên dưới – Shehabix