Кодирование JSON и Base64 с помощью .NET - PullRequest
1 голос
/ 12 марта 2012

У меня есть довольно стандартный метод, который base64-кодирует строку перед отправкой этой строки по сети клиенту. Когда связь была SOAP, все работало нормально, но теперь, когда все работает через .NET-версию JSON, декодирование base64 взрывается с ошибкой:

Входные данные не являются допустимой строкой Base-64, поскольку они содержат неосновной 64-символ, более двух символов заполнения или недопустимый символ среди символов заполнения.

Я заметил, что .NET добавляет \ "к началу и концу строки, поэтому я удалил их, а затем проверил длину и заметил, что она не кратна 4, поэтому я добавил начало и конец по мере необходимости со знаком равенства - ничего не помогло. Я все равно получаю ту же ошибку, отмеченную выше, независимо от того, что я делаю.

Я застрял, и никто другой не ответил на подобные вопросы - какие-либо идеи (и, нет, я не могу избавиться от .NET ...)?

Строка с сервера:

zkWv1UuGZX08g1s / к / Rp4edZJ / QkuQO88HxpWtpsSfZt4kdWotuqzDy7 + YgrB / JUdmuU7FB7thtK1yah + bW0CL3NPP / WGeQHjL / pvpoaOVAiDODnXOvONwuMINpSTa6HvxHj5mJxDvIoEhUwzchFfxfjnDW6tGutBRCBhGHYTK4 =

Строка, полученная на клиенте до того, как я возился с ней:

\ "zkWv1UuGZX08g1s \ / к \ / Rp4edZJ \ / QkuQO88HxpWtpsSfZt4kdWotuqzDy7 + YgrB \ / JUdmuU7FB7thtK1yah + bW0CL3NPP \ / WGeQHjL \ / pvpoaOVAiDODnXOvONwuMINpSTa6HvxHj5mJxDvIoEhUwzchFfxfjnDW6tGutBRCBhGHYTK4 = \"

1 Ответ

1 голос
/ 20 июля 2012

Проблема в том, что JSON экранирует кучу символов, а возвращаемая строка экранирует свой собственный набор символов.Здесь есть несколько замечательных постов о потоковой передаче ответов JSON WCF, которые могут помочь при возврате, но ничего, что касалось поступающих.Я перешел на XML из JSON.

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