2
我有特殊字符的文本trmp %al1 €haced£rs Àc17ç
。如何編碼和解碼特殊字符在C#
考慮到我傳遞數據的通道不支持這些特殊字符,並且目標需要解碼編碼文本以獲取原始數據。
我試着看Base64 encoding,decoding
或HTML encoding/decoding
並沒有什麼似乎保留相同的數據。
源和目的地被C# process (supports these charset)
我有特殊字符的文本trmp %al1 €haced£rs Àc17ç
。如何編碼和解碼特殊字符在C#
考慮到我傳遞數據的通道不支持這些特殊字符,並且目標需要解碼編碼文本以獲取原始數據。
我試着看Base64 encoding,decoding
或HTML encoding/decoding
並沒有什麼似乎保留相同的數據。
源和目的地被C# process (supports these charset)
HTML編碼/解碼似乎爲我工作:也
using System;
using System.Net;
namespace StackOverflow_EncodingSpecialCharacters
{
class Program
{
static void Main(string[] args)
{
const string input = @"trmp % al1 €haced£rs Àc17ç";
Console.WriteLine($"Input: \t{input}");
string encoded = WebUtility.HtmlEncode(input);
Console.WriteLine($"Encoded: \t{encoded}");
string output = WebUtility.HtmlDecode(encoded);
Console.WriteLine($"Output: \t{output}");
Console.ReadKey();
}
}
}
,System.Web程序集下:
string decoded = System.Web.HttpUtility.HtmlDecode(input);
string encoded = System.Web.HttpUtility.HtmlEncode(input);
// similar for URLs (like converting the space to plus sign, etc.)
string urldecoded = System.Web.HttpUtility.UrlDecode(url);
string urlencoded = System.Web.HttpUtility.UrlEncode(url);
的Base64將不起作用在這種情況下,因爲它適用於可打印的字符集。 – loneshark99
渠道支持哪些字符集? –