C# Base64 去掉特殊字符 / % +

2023-05-15  乐帮网

c#

在使用Base64字符串时,对于跨平台的处理是有所区别的,标准的Base64是不会带特殊字符的例如:/ % +,所以有时候需要做兼容,不然会报以下错误:"Base64密文转换字符串报 "Base-64 字符数组或字符串的长度无效。" 

使用C#语言处理如下:

string payloadstr = "eyJpZCI6MTMwNzkyNzA3NjUwNjE0MDY3MywiYWNjb3VudCI6InRlc3QiLCJ1c2VyS2V5IjoiMTIzIiwic3ViIjoiMTMwNzkyNzA3NjUwNjE0MDY3MyIsImlhdCI6MTYwMDY3OTM3OCwiZXhwIjoxNjAwNzY1Nzc4fQ";
string dummyData = payloadstr.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+");
if (dummyData.Length % 4 > 0)
{
  dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
}
byte[] byteArray = Convert.FromBase64String(dummyData); 
Console.WriteLine(Encoding.UTF8.GetString(byteArray));

https://www.cnblogs.com/MrZheng/p/13723277.html

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力