C# 使用.NET进行JSON和Base64编码
我有一个相当标准的方法,base64在通过线路将字符串发送到客户端之前对该字符串进行编码。当通信是SOAP时,一切正常,但现在一切都通过.NET版本的JSON运行,base64解码出现错误: 输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符 我注意到.NET在字符串的开头和结尾添加了一个\“,所以我删除了它们,然后我检查了长度,注意到它不是4的倍数,所以我根据需要用等号填充开头和结尾-没有任何帮助。无论我做什么,我仍然会得到上面提到的相同错误 我被困住了,没有其他人对类似问题的回答有帮助——有什么想法(而且,没有,我无法摆脱.NET…) 来自服务器的字符串为: zkWv1UuGZX08g1s/k/Rp4edZJ/QkuQO88HxpWtpsSfZt4kdWotuqzDy7+YgrB/JUdmuU7FB7thtK1yah+bW0CL3NPP/WGeQHjL/PVPOAOVAIDONNxOVONWUMINPSTA6HVXHJ5MJXDVIOEHZCHFFFJNDW6TURBHYTTK4= 在我处理之前,客户端接收到的字符串是: \“zkWv1UuGZX08g1s\/k\/Rp4edZJ\/QkuQO88HxpWtpsSfZt4kdWotuqzDy7+YgrB\/JUMU7FB7THTK1YAH+bW0CL3NPP\/WGeQHjL\/PVPOAOVAIDODENXONWUMINPSTA6HVHJ5MJXDVIOEHUWZCHFFFJNDW6GUTBRCBHYTTK4=”C# 使用.NET进行JSON和Base64编码,c#,.net,json,c#-4.0,base64,C#,.net,Json,C# 4.0,Base64,我有一个相当标准的方法,base64在通过线路将字符串发送到客户端之前对该字符串进行编码。当通信是SOAP时,一切正常,但现在一切都通过.NET版本的JSON运行,base64解码出现错误: 输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符 我注意到.NET在字符串的开头和结尾添加了一个\“,所以我删除了它们,然后我检查了长度,注意到它不是4的倍数,所以我根据需要用等号填充开头和结尾-没有任何帮助。无论我做什么,我仍然会得到上面提到的相
问题是JSON会转义一堆字符,而返回一个字符串会转义它自己的一组字符。这里有一些关于流式WCF JSON repsones的文章,可以帮助返回,但没有任何东西可以解决传入的问题。我从JSON切换到XML。。Net没有添加
\”
到字符串的开头和结尾;这就是调试器显示它的方式。请向我们展示您的代码。事实上,这不是调试器,因为字符串是:“\”zkWv1UuGZX08g1s\/k\/Rp4edZJ\/QkuQO88HxpWtpsSfZt4kdWotuqzDy7+YgrB\/JUMU7FB7THTK1YAH+BWW0CL3NPP\/WGeQHjL\/PVPOAOVAIDONWUMINPSTA6HVJ5MJXDVIOEHWZCHFxFJNDWJFJNDW6TGHYTK4=\”您可能在某个地方犯了错误。请向我们显示您的代码。请确保在发送字符串时字符串没有文字\“
。看起来您是在不应该的时候添加它们。