繁体   English   中英

在Java和C#之间编码和解码Base64字符串

[英]Encode And Decode Base64 String Between Java And C#

我陷入了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似乎是base-64; 在这种情况下,您可能需要:

byte[] buffer = Convert.FromBase64String(jsonString);

应该为您提供与序列化为base-64时相同的数据。

请注意,看起来原始数据是utf8字符串,在这种情况下:

var s = Encoding.UTF8.GetString(buffer);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM