结果:
1.编码解码方法
private static void Ecd(string str, Encoding encoding)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
//解码
byte[] bytes = encoding.GetBytes(str);
//编码
string newstr = encoding.GetString(bytes);
//16进制解码结果
string encostr = BitConverter.ToString(bytes);
Console.WriteLine("编码为:{0},编码结果:{1}\n", encoding.EncodingName, encostr);
Console.WriteLine("解码结果:{0}\n", newstr);
}
2.获取所有编码类型,调用Ecd方法对输入的字符串进行编码与解码
static void Main(string[] args)
{
//编码类型
Console.WriteLine("本机所有编码类型:");
foreach (EncodingInfo ei in Encoding.GetEncodings())
{
Console.WriteLine("编码名称:{0}\n", ei.Name);
}
string str = Console.ReadLine();
Ecd(str, Encoding.ASCII);
Ecd(str, Encoding.GetEncoding("GB2312"));
}