我陷入了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));
在C#上接收:
最佳答案
您的jsonString
似乎是64。在这种情况下,您可能想要:
byte[] buffer = Convert.FromBase64String(jsonString);
它将为您提供与最初序列化为base-64相同的数据。
请注意,看起来原始数据是utf8字符串,在这种情况下:
var s = Encoding.UTF8.GetString(buffer);
关于java - 在Java和C#之间编码和解码Base64字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49756254/