C# 将txt更改编码方式

现在有一个txt文档,但是编码方式为ansi。我现在想通过C#程序将txt编码为Unicode的格式,要求:不改变内容、格式,总之不影响用Unicode的方式读取就行,谢... 现在有一个txt文档,但是编码方式为ansi。我现在想通过C#程序将txt编码为Unicode的格式,要求:不改变内容、格式,总之不影响用Unicode的方式读取就行,谢谢。有追加分数
注意,txt已经存在,不能改变内容
展开
 我来答
理工爱好者

推荐于2017-11-23 · TA获得超过2283个赞
知道大有可为答主
回答量:5249
采纳率:97%
帮助的人:620万
展开全部
string ansiFilepath = @"c:\test.txt";
string unicodeFilePath = @"C:\unicode.txt";

// convert DBCS-932 encoded file to unicode-file
using (StreamReader sr = new StreamReader(ansiFilepath, Encoding.Default, false))
{
using (StreamWriter sw = new StreamWriter(unicodeFilePath, false, Encoding.Unicode))
{
sw.Write(sr.ReadToEnd());
}
}
如何检查是否转转换成功:
用记事本建立一个新的txt文件,保存的时候用ansi保存
执行上面代码, 生成的新文本文件(即转换后的),用记事本打开,点另存,可以看到当前文件编码为unicode
百度网友94f02eb
2010-07-06 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4385万
展开全部
/// <summary>
/// 文件编码转换
/// </summary>
/// <param name="sourceFile">源文件</param>
/// <param name="destFile">目标文件,如果为空,则覆盖源文件</param>
/// <param name="targetEncoding">目标编码</param>
static void ConvertFileEncoding(string sourceFile, string destFile, System.Text.Encoding targetEncoding)
{
destFile = string.IsNullOrEmpty(destFile) ? sourceFile : destFile;
System.IO.File.WriteAllText(destFile,
System.IO.File.ReadAllText(sourceFile, System.Text.Encoding.Default),
targetEncoding);
}

使用方法,非常简单:

ConvertFileEncoding("d:\\a.txt", null, System.Text.Encoding.Unicode);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草薙在
2010-07-06 · TA获得超过4795个赞
知道大有可为答主
回答量:6187
采纳率:50%
帮助的人:6242万
展开全部
用Encoding.ASCII的编码用TextReader读取,然后用Encoding.UTF8 TextWriter写入即可

补充:那你的输出路径给不同的就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式