C#如何改变汉字编码
答案:2 悬赏:0
解决时间 2021-12-21 15:19
- 提问者网友:心裂
- 2021-12-20 23:10
我从网页抓取对应的源文件,把它输入到文本文件中,英文字母正常显示,但汉字显示却是一堆乱码,请问该如何改正?
最佳答案
- 二级知识专家网友:旧事诱惑
- 2021-12-20 23:56
//读取
using (StreamReader sr = new StreamReader(strFileName,Encoding.GetEncoding(936)))
{
strHtm = sr.ReadToEnd();
sr.Close();
}
//保存
FileStream fs = new FileStream(strFileSaveName, FileMode.Create);
using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding(936)))
{
sw.Write(strHtm);
}
//其中采用了Encoding.GetEncoding(936)编码即gb2312简体中文编码方式
using (StreamReader sr = new StreamReader(strFileName,Encoding.GetEncoding(936)))
{
strHtm = sr.ReadToEnd();
sr.Close();
}
//保存
FileStream fs = new FileStream(strFileSaveName, FileMode.Create);
using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding(936)))
{
sw.Write(strHtm);
}
//其中采用了Encoding.GetEncoding(936)编码即gb2312简体中文编码方式
全部回答
- 1楼网友:不傲怎称霸
- 2021-12-21 00:28
///
/// 汉字转换为unicode编码
///
/// 要编码的汉字字符串
/// unicode编码的的字符串
public static string tounicode(string str)
{
byte[] bt = encoding.unicode.getbytes(str);
string r = "";
for (int i = 0; i < bt.length; i += 2)
{
r += "\\u" + bt[i + 1].tostring("x").padleft(2, '0') + bt[i].tostring("x").padleft(2, '0');
}
return r;
}提供个方法给你, 这是私人用的, 一般不外泄的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯