我陷入了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#上接收:
java - 在Java和C#之间编码和解码Base64字符串-LMLPHP

最佳答案

您的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/

10-11 22:22
查看更多