Flutter'da gzip kodlu verilerle bir json yanıtının şifresini nasıl çözebilirim?
Json yanıtı, gerçek süreci elde etmek için şifresi çözülmesi gereken şifrelenmiş nesnelere sahiptir. Android'de GZip kullanıldı. Bunu nasıl başarabilirim Örnek Json aşağıda belirtildiği gibidir.Herhangi bir yardım gerçekten takdir edilmektedir.
{
"Data": "1.´ABCD´1150275,11028´01-Jan-2021´8,000.00´",
"Data": [
{
"Element": "8iMAAB+LCAAAAAAABADt1T8zBxwHgkefKcGh98Zcdz8FSqj9DMzK4d+L0Nj1tveNR2w6M8rRs3PJWBFDy"
},
{
"Element": "B1AV4bGp6JzQJI8ChnxzixrlT8vKnYHPwRM8zykKVn2gkceAFdxMwU0to"
}
],
"Status": 1,
"Msg": "Success",
"APIVersion": "1.4"
}
Temel olarak bir Gzip dizesinin şifresinin nasıl çözüleceği. Aynı işlem android'de yapıldı, ancak yeni bir Android java kodu eklendi. flutter'da böyle bir şey başarmak istiyorum
public static String decompress(String zipText) throws IOException {
byte[] compressed = Base64.decode(zipText, Base64.DEFAULT);
if (compressed.length > 4) {
GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(compressed, 4,compressed.length - 4));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
for (int value = 0; value != -1; ) {
value = gzipInputStream.read();
if (value != -1) {
baos.write(value);
}
}
gzipInputStream.close();
baos.close();
return new String(baos.toByteArray(), StandardCharsets.UTF_8);
} else {
return "";
}
}
Yolda denedim
List<int> data = utf8.encode(zipText);
var deCompressedString = GZipDecoder().decodeBytes(data);
print(deCompressedString);
Hangi atış istisnası
Unhandled Exception: FormatException: Invalid GZip Signature
Yanıtlar
1 ch271828n
Sıkıştırılmış şifresini çözmek için: Flutter'da bir Gzip Http Yanıtı nasıl çözülür?
DÜZENLE
böyle sıkıştırın
String decompress(String zipText) {
final List<int> compressed = base64Decode(zipText);
if (compressed.length > 4) {
Uint8List uint8list = GZipDecoder().decodeBytes(compressed.sublist(4, compressed.length - 4));
// print( String.fromCharCodes(uint8list));
return String.fromCharCodes(uint8list);
} else {
return "";
}
}
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'