找不到正确的编码参数(字符串转 base64)
Cannot find the right encoding parameters (string to base64)
以下字符串 amFuZUBkb2UuY29tOkpATjNEb2UxCg== 解码为 jane@doe.com:J@N3Doe1(通过在线解码器)。
但是当我尝试将字符串编码回 (tobase64) 时,我得到了不同的结果。我试过 UT8、ASCII、Unicode。都给出不同的结果。我正在使用 C#。
string str= u + ":" + v;
byte[] rt = System.Text.ASCIIEncoding.ASCII.GetBytes(str.Trim());
string t= Convert.ToBase64String(rt);
谢谢!
从你的 base64 字符串开始,这给了我们 "jane@doe.com:J@N3Doe1\n" 的正确答案(在线编码器没有清理你的行尾):
var test = "amFuZUBkb2UuY29tOkpATjNEb2UxCg==";
var output = Convert.FromBase64String(test);
foreach (var b in output){
Console.Write((char)b);
}
Console.WriteLine();
返回,得到字符串 "amFuZUBkb2UuY29tOkpATjNEb2UxCg==":
var input = "jane@doe.com:J@N3Doe1\n";
var bytes = input.Select(c => (byte)c).ToArray();
var output = Convert.ToBase64String(bytes);
Console.WriteLine(output);
如果删除行尾,您会得到相同的字符串,但末尾没有 "Cg=="。
以下字符串 amFuZUBkb2UuY29tOkpATjNEb2UxCg== 解码为 jane@doe.com:J@N3Doe1(通过在线解码器)。
但是当我尝试将字符串编码回 (tobase64) 时,我得到了不同的结果。我试过 UT8、ASCII、Unicode。都给出不同的结果。我正在使用 C#。
string str= u + ":" + v;
byte[] rt = System.Text.ASCIIEncoding.ASCII.GetBytes(str.Trim());
string t= Convert.ToBase64String(rt);
谢谢!
从你的 base64 字符串开始,这给了我们 "jane@doe.com:J@N3Doe1\n" 的正确答案(在线编码器没有清理你的行尾):
var test = "amFuZUBkb2UuY29tOkpATjNEb2UxCg==";
var output = Convert.FromBase64String(test);
foreach (var b in output){
Console.Write((char)b);
}
Console.WriteLine();
返回,得到字符串 "amFuZUBkb2UuY29tOkpATjNEb2UxCg==":
var input = "jane@doe.com:J@N3Doe1\n";
var bytes = input.Select(c => (byte)c).ToArray();
var output = Convert.ToBase64String(bytes);
Console.WriteLine(output);
如果删除行尾,您会得到相同的字符串,但末尾没有 "Cg=="。