C# 将汉字转换为其他字符集
我有这样一个字符串:C# 将汉字转换为其他字符集,c#,string,C#,String,我有这样一个字符串: 我想把它转换成:作品/黃K金 我用了很多方法来破解,但都没有成功。我认为这个字符串是URL的一部分。服务器使用301重定向发送给我(在位置标题中),我想对其进行解码以解析URL 以下是我一直在尝试的: string text = "ç²¾é¸ç 寶ä½?å?/é»?ké??"; string decoded = System.Web.HttpUtility.UrlDecode(text); public static string HtmlEncode(string
我想把它转换成:作品/黃K金代码>
我用了很多方法来破解,但都没有成功。我认为这个字符串是URL的一部分。服务器使用301重定向发送给我(在位置标题中)
,我想对其进行解码以解析URL
以下是我一直在尝试的:
string text = "ç²¾é¸ç 寶ä½?å?/é»?ké??";
string decoded = System.Web.HttpUtility.UrlDecode(text);
public static string HtmlEncode(string text)
{
string result;
using (StringWriter sw = new StringWriter())
{
var x = new HtmlTextWriter(sw);
x.WriteEncodedText(text);
result = sw.ToString();
}
return result;
}
我也尝试过这种方法,但没有成功:
string text = "ç²¾é¸ç 寶ä½?å?/é»?ké??";
string decoded = System.Web.HttpUtility.UrlDecode(text);
public static string HtmlEncode(string text)
{
string result;
using (StringWriter sw = new StringWriter())
{
var x = new HtmlTextWriter(sw);
x.WriteEncodedText(text);
result = sw.ToString();
}
return result;
}
头给了我一个非utf8字符集(iso-8859-1),我也尝试了UTF-8转换,但没有成功
Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
byte[] isoBytes = iso.GetBytes(text);
byte[] utfBytes = Encoding.Convert(iso, utf8, isoBytes);
return utf8.GetString(utfBytes);
试试这个
static void Main(string[] args)
{
string str = "ç²¾é¸ç 寶ä½?å?/é»?ké??";
byte[] origBytes = new byte[str.Length];
int i = 0;
foreach (char c in str)
{
origBytes[i++] = (byte)c;
}
Encoding origEncoding = Encoding.GetEncoding(936);
Encoding newEncoding = Encoding.Unicode;
byte[] newBytes = Encoding.Convert(origEncoding, newEncoding, origBytes);
string res = newEncoding.GetString(newBytes);
}
输出
谢谢@Neel我明天会试试这个,并会告诉你它对我是否有效。我尝试了解决方案。我想你离最终的解决方案不远了:)我测试了这个字符串:ç³»å/å»/ç娸å¨ä½å
,结果是:绯诲垪/鐝犲/绮鹃伕鐝犲浣滃搧代码>你可以看到,中间有2个小方块,它们没有被解码。它似乎是空白字符