При запуске на Java, (new BigInteger(rawString).toByteArray())
возвращает это:
1F8B080000000000000033FA6F6169606164606869 . . . . . DA5FE98B4C050000
Эти двоичные данные имеют действительный заголовок gzip (1f 8b - magi c байт, 08 deflate et c ..)
Однако преобразование в. Net, BigInteger.Parse(rawString).ToByteArray()
возвращает это:
0000054C8BE95FDA . . . . . 08 8B 1F
Вы видите что-то?
Да, это реверс java произведенных байтов. Это потому, что java и. net используют разные байты при записи этих байтов.
Просто сделайте это:
// parsing string to BigInteger
var _bi = BigInteger.Parse(rawString);
// convert to ByteArray
var _bary = _bi.ToByteArray();
// Give us a magic hand!
Array.Reverse(_bary);