Кодирование base64 в Java и декодирование в C # - PullRequest
2 голосов
/ 27 апреля 2011


У меня проблемы с base64 между java и c #, я отправляю закодированную строку в обработчик asp.net из java urlconnection, я сравниваю обе строки, одну, сгенерированную в java из байтового массива, и ту, которая получена в asp.net первое декодирование и оба идентичны, но после декодирования байтовый массив в c # не равен байтовому массиву в java.Я использую новый sun.misc.BASE64Encoder (). Encode (javabytearray);в Java и System.Convert.FromBase64String (encodedstring);в дотнет.

из java: "[0] [-24] [56] [1] [-56] [41] [-29] ........."
в dotnet:"[0] [232] [56] [1] [200] [41] [227] ........."

Аналог: Кодирование base64 в Java и декодирование вC #
Я не могу задать вопрос выше, потому что это сайт вопросов и ответов, и каждый раз, когда нужно создать новый вопрос, я не могу задать вопрос внутри другого вопроса.
большое спасибо

1 Ответ

9 голосов
/ 27 апреля 2011

byte не подписано в C # и подписано в Java.Битовая комбинация значения Java byte -24 равна битовой структуре значения c # byte 232.Так что ваш код должен быть правильным.Если вы хотите проверить это, преобразуйте, например, значения Java byte в int и добавьте 256 к отрицательным значениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...