我的文字带有特殊字符trmp %al1 €haced£rs Àc17ç。
考虑到我通过其传递数据的通道不支持这些特殊字符,并且目的地需要对编码的文本进行解码以获取原始数据。
我尝试查看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();
}
}
}
Run Code Online (Sandbox Code Playgroud)