C# 找不到正确的编码参数(字符串到base64)

C# 找不到正确的编码参数(字符串到base64),c#,string,encoding,utf-8,base64,C#,String,Encoding,Utf 8,Base64,以下字符串amFuZUBkb2UuY29tOkpATjNEb2UxCg==解码为jane@doe.com:J@N3Doe1(通过在线解码器) 但是当我尝试将字符串编码回(tobase64)时,我得到了不同的结果。我试过UT8、ASCII、Unicode。所有这些都给出了不同的结果。我用的是C 谢谢 从您的base64字符串开始,这为我们提供了正确的答案“jane@doe.com:J@N3Doe1\n“(在线编码器没有清理您的终端): 回过头来看,这将给出字符串“amFuZUBkb2UuY29tO

以下字符串amFuZUBkb2UuY29tOkpATjNEb2UxCg==解码为jane@doe.com:J@N3Doe1(通过在线解码器)

但是当我尝试将字符串编码回(tobase64)时,我得到了不同的结果。我试过UT8、ASCII、Unicode。所有这些都给出了不同的结果。我用的是C


谢谢

从您的base64字符串开始,这为我们提供了正确的答案“jane@doe.com:J@N3Doe1\n“(在线编码器没有清理您的终端):

回过头来看,这将给出字符串“amFuZUBkb2UuY29tOkpATjNEb2UxCg==”:


如果删除行尾,则会得到相同的字符串,但末尾没有“Cg==”。

尝试以下操作:string input=“amfuzubkb2uuuy29tokpatjneb2uxcg==”;字符串输出=Encoding.UTF8.GetString(Convert.FromBase64String(输入));应该是从不到。不,你不太明白。我正试图找到正确的编码方法jane@doe.com:J@N3Doe1致amFuZUBkb2UuY29tOkpATjNEb2UxCg==@jdweng谢谢@注意:把你的答案发回来!使用反向过程获取64字符串。该新行字符。我注意到解码的输出包含一个新行,因此我在调试器中检查了输出:)
   string str= u + ":" + v;
   byte[] rt = System.Text.ASCIIEncoding.ASCII.GetBytes(str.Trim());
   string t= Convert.ToBase64String(rt);
var test = "amFuZUBkb2UuY29tOkpATjNEb2UxCg==";
var output = Convert.FromBase64String(test);
foreach (var b in output){
    Console.Write((char)b);
}
Console.WriteLine();
var input = "jane@doe.com:J@N3Doe1\n";
var bytes = input.Select(c => (byte)c).ToArray();

var output = Convert.ToBase64String(bytes);
Console.WriteLine(output);