簡體   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