sal*_*azi 2 c# base64 character converters .net-6.0
这是我的字符串,我尝试将其从 base64 转换为人类可能可读的字符串:
eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9kYXRlb2ZiaXJ0aCI6IjIvMjUvMTk5MSAxMjowMDowMCBBTSIsIm5iZiI6MTY0MTQwNjk2MCwiZXhwIjoxNjQxNDEwNTYwLCJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo3MDAwLyIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0OjcwMDAvIn0
Run Code Online (Sandbox Code Playgroud)
它适用于从 Base64 转换的在线网站,例如此网站
在 c# .net6 上我尝试以下代码:
var bytes = Convert.FromBase64String(base64payload);
Run Code Online (Sandbox Code Playgroud)
其中 base64payload 是上面的字符串。为什么我在 c# dotnet 6 上收到此错误?
"The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters."
Run Code Online (Sandbox Code Playgroud)
据我所知,( az AZ 0-9 / +)是有效的,我的眼睛在这个字符串中没有看到任何错误的base64字符+它在其他地方也有效。
你的字符串缺少一些填充。您可以在这里检查并修复它(如果您愿意)。
修复后的正确字符串是:
eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9kYXRlb2ZiaXJ0aCI6IjIvMjUvMTk5MSAxMjowMDowMCBBTSIsIm5iZiI6MTY0MTQwNjk2MCwiZXhwIjoxNjQxNDEwNTYwLCJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo3MDAwLyIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0OjcwMDAvIn0=
Run Code Online (Sandbox Code Playgroud)
之后,使用以下代码:
using System;
using System.Text;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
var coded = ("eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9kYXRlb2ZiaXJ0aCI6IjIvMjUvMTk5MSAxMjowMDowMCBBTSIsIm5iZiI6MTY0MTQwNjk2MCwiZXhwIjoxNjQxNDEwNTYwLCJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo3MDAwLyIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0OjcwMDAvIn0=");
string inputStr = Encoding.UTF8.GetString(Convert.FromBase64String(coded));
Console.WriteLine(inputStr);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15908 次 |
| 最近记录: |