Base 64编码和解码

时间:2015-10-19 06:40:12

标签: c# decode encode

我想解码Base 64中的特殊字符,我想在其中包含空格。请告诉我如何处理base 64编码和解码中的空间。

<add key="SpecialCharacter" value="w6J8YSzDoXxhLMOlfGEsw6R8YSzDo3xhLMOmfGFlLMSNfGMsw6l8ZSzDqHxlLMOqfGUsw6t8ZSzDu3x1LMO6fHUsw7x8dSzDuHxvLMOzfG8sw7R8byzDtnxvLMOyfG8sxaF8byxgfCwnfCzFgnxsLMW8fHo="/>

1 个答案:

答案 0 :(得分:5)

看看这些功能:

public static string ToBase64(this string value)
{
    byte[] bytes = Encoding.Default.GetBytes(value);
    return Convert.ToBase64String(bytes);
}

public static string FromBase64(this string value)
{
    byte[] bytes = Convert.FromBase64String(value);
    return Encoding.Default.GetString(bytes);
}

第一个将字符串转换为基数为64的字符串。

例如:string base64 = "Hello World!".ToBase64()

第二个将其返回到“普通”字符串: string original = base64.FromBase64()

核心功能在Convert.FromBase64String(string value)。它返回一个字节数组,必须将其转换为Encoding的字符串。当您知道所使用的编码时,您可以使用它而不是默认值(UTF-16,我认为)。

我测试了一些编码。在您的情况下,字符串以UTF8编码,结果为:

  

A | A,A | A,A | A,A | A,A |一个,æ| AE,č| C,E | E,E | E,E | E,E | E,û| U ,U | U,U | U,直径| O,O- | O,O- | O,O- | O,O- | O,S | O,`|'|,L | L,Z | Z

除了再次对@WDS的评论之外:Spaces也应该转换为base64。无需空间处理它们。