C# 当我在c中解密base64字符串时,它显示了什么?????问号和一些特殊的字符符号

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

我有一个base64字符串,我想通过c#代码对它进行解密。但当我应用下面的代码时,它会显示问号和不同的特殊字符。 我不知道为什么会出现这种情况

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();
  • 默认情况下,许多系统/语言显示的字节值不能表示为?,� 或类似的字形

  • Base64是编码而不是加密

  • 当数据需要作为字符串处理,但数据值不能表示为字符(或至少不能表示为全部)时,通常使用Base64编码

  • 数据通常是8位字节的集合,例如在数组中。Eamples包括图像、编译的计算机代码、加密数据等

    并非所有(甚至大多数)字节值都没有字符表示,也没有可显示的表示。请参见ASCII、unicode,尤其是以及

  • 默认情况下,许多系统/语言显示的字节值不能表示为?,� 或类似的字形

  • Base64是编码而不是加密

  • 当数据需要作为字符串处理,但数据值不能表示为字符(或至少不能表示为全部)时,通常使用Base64编码

  • 数据通常是8位字节的集合,例如在数组中。Eamples包括图像、编译的计算机代码、加密数据等


    并非所有(甚至大多数)字节值都没有字符表示,也没有可显示的表示。请参阅ASCII、unicode,尤其是。Base64用于将二进制数据编码为文本。如果对Base64数据进行解码,则会得到二进制数据。大多数二进制数据不能表示为字符串(或任何其他形式的文本),因为它根本不是文本

    Base64就是这样一个例子。结果不是文本,既不是UTF-8,也不是ASCII,也不是任何其他编码


    这就是为什么你会喜欢有趣的角色。它们用于表示无效字符。

    Base64用于将二进制数据编码为文本。如果对Base64数据进行解码,则会得到二进制数据。大多数二进制数据不能表示为字符串(或任何其他形式的文本),因为它根本不是文本

    Base64就是这样一个例子。结果不是文本,既不是UTF-8,也不是ASCII,也不是任何其他编码


    这就是为什么你会喜欢有趣的角色。它们用于表示无效字符。

    嗯,可能字节不构成UTF8字符串。您在代码中混淆了编码和加密,这可能是一个提示。请告诉我们encPstr来自何处以及它应该是什么。如果可能,请提供样品。否则,您也可以删除此问题。好的,我在编辑问题时添加了更多详细信息字符串,请立即检查。encStr不太可能是加密字符串,然后用base64编码字节[]的结果。在这种情况下,你只是走得太快了,你忘了解密它。嗯,也许字节没有形成UTF8字符串。您在代码中混淆了编码和加密,这可能是一个提示。请告诉我们encPstr来自何处以及它应该是什么。如果可能,请提供样品。否则,您也可以删除此问题。好的,我在编辑问题时添加了更多详细信息字符串,请立即检查。encStr不太可能是加密字符串,然后用base64编码字节[]的结果。在这种情况下,你只是走得太快了,你忘了解密它。