繁体   English   中英

Base 64编码和解码

[英]Base 64 encoding and Decoding

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

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

看一下这些功能:

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 | A,æ| AE,č| C,E | E,E | E,E | E,E | E,U | U,U | U,U | U,直径| O,O- | O,O- | O,O- | O,O- | O,S | O,`|“|,L | L,Z | Z

除了在这里再次评论@WDS:空间也应该转换为base64。 无需空间传递它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM