C# 当我在c中解密base64字符串时,它显示了什么?????问号和一些特殊的字符符号
我有一个base64字符串,我想通过c#代码对它进行解密。但当我应用下面的代码时,它会显示问号和不同的特殊字符。 我不知道为什么会出现这种情况C# 当我在c中解密base64字符串时,它显示了什么?????问号和一些特殊的字符符号,c#,encryption,base64,C#,Encryption,Base64,我有一个base64字符串,我想通过c#代码对它进行解密。但当我应用下面的代码时,它会显示问号和不同的特殊字符。 我不知道为什么会出现这种情况 byte[] data = Convert.FromBase64String(encpStr); string decodedString = Encoding.UTF8.GetString(data); 我在VisualStudio中创建了控制台项目,并进行了此实践。请参阅下面我的全部代码 string encStr = "oJe6iooq+PbvA
byte[] data = Convert.FromBase64String(encpStr);
string decodedString = Encoding.UTF8.GetString(data);
我在VisualStudio中创建了控制台项目,并进行了此实践。请参阅下面我的全部代码
string encStr = "oJe6iooq+PbvArD+C7P7B/cHAAL9Dr2/vvIBFRcVCAYfxxEcygzMFB0eFNEWFC3VKibYLCknMiLeLzU7PC8pOPT19g==";
Console.WriteLine("******************\nEnc String:\n" + encStr + "\n\n\n**********************");
byte[] data = Convert.FromBase64String(encStr);
string decStr = Encoding.UTF8.GetString(data);
Console.WriteLine("\n\n\nDecr String: \n" + decStr + "\n\n");
Console.ReadKey();
并非所有(甚至大多数)字节值都没有字符表示,也没有可显示的表示。请参阅ASCII、unicode,尤其是。Base64用于将二进制数据编码为文本。如果对Base64数据进行解码,则会得到二进制数据。大多数二进制数据不能表示为字符串(或任何其他形式的文本),因为它根本不是文本 Base64就是这样一个例子。结果不是文本,既不是UTF-8,也不是ASCII,也不是任何其他编码
这就是为什么你会喜欢有趣的角色。它们用于表示无效字符。Base64用于将二进制数据编码为文本。如果对Base64数据进行解码,则会得到二进制数据。大多数二进制数据不能表示为字符串(或任何其他形式的文本),因为它根本不是文本 Base64就是这样一个例子。结果不是文本,既不是UTF-8,也不是ASCII,也不是任何其他编码
这就是为什么你会喜欢有趣的角色。它们用于表示无效字符。嗯,可能字节不构成UTF8字符串。您在代码中混淆了编码和加密,这可能是一个提示。请告诉我们encPstr来自何处以及它应该是什么。如果可能,请提供样品。否则,您也可以删除此问题。好的,我在编辑问题时添加了更多详细信息字符串,请立即检查。encStr不太可能是加密字符串,然后用base64编码字节[]的结果。在这种情况下,你只是走得太快了,你忘了解密它。嗯,也许字节没有形成UTF8字符串。您在代码中混淆了编码和加密,这可能是一个提示。请告诉我们encPstr来自何处以及它应该是什么。如果可能,请提供样品。否则,您也可以删除此问题。好的,我在编辑问题时添加了更多详细信息字符串,请立即检查。encStr不太可能是加密字符串,然后用base64编码字节[]的结果。在这种情况下,你只是走得太快了,你忘了解密它。