[英]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));
您的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.