【发布时间】:2018-04-10 14:29:59
【问题描述】:
我遇到了 base64 字符串之间的转换问题,我有一个 C# Web API 服务,它接收 Base64 编码的字符串。我现在从 Android(Java) 使用该服务,所以当我将字符串编码为 Base64 并发送到 C# 服务时,它接收良好我添加了一个断点,当我使用在线解码器对其进行解码时,它给了我正确的结果,但我的 C# Web Api 服务无法正确解码。
这是代码 Sinpet 请帮助我摆脱它,谢谢。
Java 代码:将字符串转换为 Base64
bytesEncoded = Base64.encode(string.getBytes("UTF-8"), Base64.DEFAULT);
要解码的 C# 代码:
byte[] buffer = new byte[jsonString.Length];
String str2 = Convert.ToBase64String(Encoding.UTF8.GetBytes(jsonString));
【问题讨论】:
-
你能给我们看一个你的输入和输出的例子吗?
-
您的“解码”实际上是另一个“编码”步骤。对于“解码”,它应该是
FromBase64String。但是:这里的jsonString是什么?如果string是 base-64 文本:只需解码即可。 -
这很可疑:
byte[] buffer = new byte[jsonString.Length]; -
@JawadZeb 请查看 Marc Gravell 发布的内容,您不想要
ToBase64String解码时想要 FromBase64String。 -
随着更新:
jsonString看起来持有 base-64,所以:只需运行Convert.FromBase64String(jsonString)