我已使用代码页 windows-1251 而不是使用 iso-8859-2 从文件中读取字符串“ńîôč˙”。它应该是一些西里尔字符串。如何实现将在 C# 中执行以下操作的函数:
string res = Recover("ńîôč˙");
string Recover(string input)
{
???
}
res 是西里尔文字符串,如果我在首先读取文件时使用好页面,我会得到它。
我已使用代码页 windows-1251 而不是使用 iso-8859-2 从文件中读取字符串“ńîôč˙”。它应该是一些西里尔字符串。如何实现将在 C# 中执行以下操作的函数:
string res = Recover("ńîôč˙");
string Recover(string input)
{
???
}
res 是西里尔文字符串,如果我在首先读取文件时使用好页面,我会得到它。
从我的头顶上掉下来..
string Recover(string input)
{
return Encoding.GetEncoding("iso-8859-2").GetString(Encoding.GetEncoding(1251).GetBytes(input));
}
您可以使用System.Text.Encoding
该类的方法:
using System.Text;
using System;
class EncodingConverter
{
static string ConvertEncoding(string input,
Encoding srcEncoding,
Encoding targetEncoding)
{
byte[] buffer = srcEncoding.GetBytes(input);
return targetEncoding.GetString(buffer);
}
static void Main(string[] args)
{
string input = args[0];
string converted = ConvertEncoding(input,
Encoding.GetEncoding("windows-1250"),
Encoding.GetEncoding("iso-8859-2"));
Console.WriteLine(converted);
}
}