C# 我能';在从Base64字符串转换中找不到错误

C# 我能';在从Base64字符串转换中找不到错误,c#,base64,decode,C#,Base64,Decode,我正在尝试从Base64字符串进行转换。我阅读了关于base64 beabcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvwxyzo123456789+/=这是我的字符串: Ls0tls0tls0tls0tls0tls0nckvzdgegw6kgdw1高密度vtg1dg9tw6w0nhlcancg0kcg9yigzhdm9yig7do28gcmvzcg9uzgeuia0kls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tls0

我正在尝试从Base64字符串进行转换。我阅读了关于base64 be
abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvwxyzo123456789+/=
这是我的字符串:

Ls0tls0tls0tls0tls0tls0nckvzdgegw6kgdw1高密度vtg1dg9tw6w0nhlcancg0kcg9yigzhdm9yig7do28gcmvzcg9uzgeuia0kls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tdqo2gzgggggggggg2hwy2hdg2hdg7do28gzczczczgzgzcgzgzgggggzgggggzggggggg9uzg9uzgggggg9uzgggggggggg9uzgggg9uzggggg9uzgggggggggggggggOGVU5JREFERSBWRVNQVNJQU5PDQONCIOJQVSYTOGQ09OVKVSU0KGLYXRHIGELZLZIWMJENCOIJSG9YYSBKYBWWXHOIAXMJ0KDQOKGGZGEGWYY2HDP8OJZOGMJUMJUMDMVMJAYMQKGKGKG3JHIGHMNHW6FDO286IDIZOKZYZZYZYZJJJ0KJ0KJJ0KJJ0KJJJ0KKKJJJ0KKKKJ0KJ0KJ0KJ0KKJ0KJ0KKKJ0KKJ0KJ0KJ0KKKKKKJ0KKJ0KKKJ0KJ0KKKJ0KKKKJ0KJ0KKJ0KKKKK+中国政府在一个地方政府的一个政府部门在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方一个地方政府在一个地方政府在一个地方政府在一个地方一个地方政府在一个地方一个地方政府在一个地方政府在一个地方政府在一个地方一个地方政府在一个地方政府在一个地方政府在一个地方一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方政府在一个地方BUW6NVIHJLC3BVBMRhlia82.中国政府在这一领域的一个十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十AWRHZGU6PC9IPIBVTKLEQ2.中国政府在一份文件中给出了一份2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2两份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份文件,一份2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2份文件,一份文件,一份文件,一份文件,一份文件,在2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2个中国中国中国中国中国中国中国中国政府的中国+PGXPJXIPKZVBNRLOJWVYJ4GTXLVUFRJTUUgb25saW5lPC9saT48L3VsPjx1bD48bGk+PGI+Rm9uZTo8L2I+IDMXMZY0NTEWMDA8L2xPPJXSAT48YJ5TAXRLOJVJ4GEGAHJLZJ0IAHR0CDOVL3DY51CHRPWUY29TLMJYIJ5ODHRWOI8VD3D3LNVWDGLTz5JB20UYNI8L2E+PC9SAT48L3L3VSPJWWK9OVD48L2JVZHK+PC9odG1sPg==

我找不到不同的谈话。始终处于可接受的聊天之间

我需要我的代码,我需要:

String codedBody = emailClass.Body.Replace("-", "+");
codedBody = codedBody.Replace("_", "/");
byte[] data = Convert.FromBase64String(codedBody);
emailClass.Body = Encoding.UTF8.GetString(data);
当我运行行
byte[]data=Convert.FromBase64String(codedBody)时我收到验证:

{“输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符。”

我使用de,站点将我的字符串拆分为两个有效的Base64String

String codedBody = emailClass.Body.Replace("-", "+");
codedBody = codedBody.Replace("_", "/");
byte[] DataBody = new byte[0];

try
{
    byte[] data = Convert.FromBase64String(codedBody);
    DataBody = AddBiteArray(DataBody, data);
}
catch(Exception e)
{
    var GetBase64Maches = _regexTOGetBase64.Matches(codedBody);
    
    foreach(Match Base64StringMatch in GetBase64Maches)
    {
        var Base64String = Base64StringMatch.Groups[1].Value;
        byte[] data = Convert.FromBase64String(Base64String);
        DataBody = AddBiteArray(DataBody, data);
    }

}

emailClass.Body = Encoding.UTF8.GetString(DataBody);
2)在中国的一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,在一个家庭中,一个家庭在一个家庭在一个家庭0 0 0 0个家庭在一个家庭中,一个家庭在一个家庭在一个家庭在一个家庭中,在一个家庭在一个家庭中,在一个家庭中,一个家庭在一个家庭在一个家庭在一个家庭中,在一个家庭中,一个家庭在一个家庭在一个家庭在一个家庭中,一个家庭在一个家庭在一个家庭在一个家庭2PjxWPNbvCibMyxZvCibW62.在中国的一个十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十G+PGxpPjxiPlVuaWR在中国,一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国在一个中国在一个中国在一个中国的4个中国政府在一个中国政府在一个中国政府在一个中国在一个中国在一个中国在一个中国政府在一个中国的政府在一个中国的政府在一个中国在一个中国的政府在一个中国在一个中国在一个中国的政府在一个中国的4个中国的政府在一个中国在一个中国在一个中国的政府在一个中国的政府PC9IPIAYMTOxNTWVBGK+PGxpPjxiPkZvbnRlOjwvyj4gtxlvuffrjtuugb25saw5lpc9sat48l3vspjx1bd48bgk+PGI+Rm9uZTo8L2I+idmxmzy0ntewmda8l2xppjxsat48yj5taxrrojvyj4gpegahjlzj0iahr0cdowuy29tlmjyij5odhrwoi8vd3lnvgdgltz5jb20uyni8l2e+pc9sat9sat48l3vzvz8l8l2jhk+pc9odg9spg==

Ls0tls0tls0tls0tls0tls0nckvzdgegw6kgdw1高密度vtg1dg9tw6w0nhlcancg0kcg9yigzhdm9yig7do28gcmvzcg9uzgeuia0kls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tls0tdqo2gzgggggggggg2hwy2hdg2hdg7do28gzczczczgzgzcgzgzgggggzgggggzggggggg9uzg9uzgggggg9uzgggggggggg9uzgggg9uzggggg9uzgggggggggggggggOGVU5JREFERSBWRVNQVNJQU5PDQNcyOgQ09OvkVsu0Fusu9OielJSQ0KgLeyXrhigrighief1IDIdzlziwmjencioJSG9YYSbkySbWxOiAxOiAxMjOwKdGgGgWy2HDP8OjBgMjJUvMjVmJjVmJdMdMj0KvMj0Kg6FdKy2YYMdKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKyKy=


这是规定吗?当我有一个
=
时,我会把我的字符串滑掉?

我承认我的方法需要改进,但我解决这个问题的方法是基于“=”分割中间字符串,然后在每个新字符串上附加“=”,创建一个包含两个base64值的简单字符串数组,然后你就可以进行正常的base64解码,你就完成了

我使用正则表达式
([a-zA-Z0-9\+\/]*={0,3})
获取有效的Base64String。 后来我添加了de base64string

String codedBody = emailClass.Body.Replace("-", "+");
codedBody = codedBody.Replace("_", "/");
byte[] DataBody = new byte[0];

try
{
    byte[] data = Convert.FromBase64String(codedBody);
    DataBody = AddBiteArray(DataBody, data);
}
catch(Exception e)
{
    var GetBase64Maches = _regexTOGetBase64.Matches(codedBody);
    
    foreach(Match Base64StringMatch in GetBase64Maches)
    {
        var Base64String = Base64StringMatch.Groups[1].Value;
        byte[] data = Convert.FromBase64String(Base64String);
        DataBody = AddBiteArray(DataBody, data);
    }

}

emailClass.Body = Encoding.UTF8.GetString(DataBody);
编码体是:

LS0tLS0tLS0tLS0tLS0tLSBBVEVOw4fDg08gLS0tLS0tLS0tLS0tLS0NCkVzdGEgw6kgdW1hIG1lbnNhZ2VtIGF1dG9tw6F0aWNhLCANCg0KcG9yIGZhdm9yIG7Do28gcmVzcG9uZGEuIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNClVQVElNRSAtIE5vdGlmaWNhw6fDo28gZGUgTWFyY2HDp8OjbyBkZSBBdWxhDQoNCg0KKglBbHVubzogVEhJQUdPIFNPQVJFUyBNT1RBDQoqCUNvbnRyYXRvOiA1NDI1NDENCioJVW5pZGFkZTogVU5JREFERSBWRVNQQVNJQU5PDQoNCioJQXVsYTogQ09OVkVSU0FUSU9OIElJSQ0KKglEYXRhIGRhIEF1bGE6IDI3LzAzLzIwMjENCioJSG9yYSBkYSBBdWxhOiAxMjowMA0KDQoqCURhdGEgZGEgTWFyY2HDp8OjbzogMjUvMDMvMjAyMQ0KKglIb3JhIGRhIE1hcmNhw6fDo286IDIxOjE1DQoqCUZvbnRlOiBNeVVQVElNRSBvbmxpbmUNCg0KKglGb25lOiAzMTM2NDUxMDAwDQoqCVNpdGU6IGh0dHA6Ly93d3cudXB0aW1lLmNvbS5icg0KDQo=PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj48L2hlYWQ+PGJvZHk+PEZPTlQgc3R5bGU9IkFyaWFsIiBzaXplPSIyIj48ZGl2Pi0tLS0tLS0tLS0tLS0tLS0gPHN0cm9uZz5BVEVOw4fDg088L3N0cm9uZz4gLS0tLS0tLS0tLS0tLS08YnIgLz4gIEVzdGEgw6kgdW1hIG1lbnNhZ2VtIGF1dG9tw6F0aWNhLCA8L2Rpdj48ZGl2PjxwPnBvciBmYXZvciBuw6NvIHJlc3BvbmRhLiA8YnIgLz4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyIC8+ICAgIDxzdHJvbmc+PGJyIC8+ICAgICAgPHN0cm9uZz5VUFRJTUUgLSBOb3RpZmljYcOnw6NvIGRlIE1hcmNhw6fDo28gZGUgQXVsYTwvc3Ryb25nPjwvc3Ryb25nPjxiciAvPjwvZGl2Pjx1bD48bGk+PGI+QWx1bm86PC9iPiBUSElBR08gU09BUkVTIE1PVEE8L2xpPjxsaT48Yj5Db250cmF0bzo8L2I+IDU0MjU0MTwvbGk+PGxpPjxiPlVuaWRhZGU6PC9iPiBVTklEQURFIFZFU1BBU0lBTk88L2xpPjwvdWw+PHVsPjxsaT48Yj5BdWxhOjwvYj4gQ09OVkVSU0FUSU9OIElJSTwvbGk+PGxpPjxiPkRhdGEgZGEgQXVsYTo8L2I+IDI3LzAzLzIwMjE8L2xpPjxsaT48Yj5Ib3JhIGRhIEF1bGE6PC9iPiAxMjowMDwvbGk+PC91bD48dWw+PGxpPjxiPkRhdGEgZGEgTWFyY2HDp8Ojbzo8L2I+IDI1LzAzLzIwMjE8L2xpPjxsaT48Yj5Ib3JhIGRhIE1hcmNhw6fDo286PC9iPiAyMToxNTwvbGk+PGxpPjxiPkZvbnRlOjwvYj4gTXlVUFRJTUUgb25saW5lPC9saT48L3VsPjx1bD48bGk+PGI+Rm9uZTo8L2I+IDMxMzY0NTEwMDA8L2xpPjxsaT48Yj5TaXRlOjwvYj4gPGEgaHJlZj0iaHR0cDovL3d3dy51cHRpbWUuY29tLmJyIj5odHRwOi8vd3d3LnVwdGltZS5jb20uYnI8L2E+PC9saT48L3VsPjwvRk9OVD48L2JvZHk+PC9odG1sPg==
以及:


在我自己解码了以下内容之后,为了调试的目的,我必须问一下,最终应该是什么?我正在用这段代码阅读我的电子邮件,以创建一个个人电子邮件管理器。如果您在
=
上拆分,则所有这些符号都将从生成的字符串中删除。然后,您必须检查每个字符串的长度并附加
=
字符,直到长度可以除以4。e、 例如,
int缺失=4-([Part].长度%4);如果(缺少>0&&缺少!=4)部分[i]+=新字符串('=',缺少)