C# 将txt更改编码方式
现在有一个txt文档,但是编码方式为ansi。我现在想通过C#程序将txt编码为Unicode的格式,要求:不改变内容、格式,总之不影响用Unicode的方式读取就行,谢...
现在有一个txt文档,但是编码方式为ansi。我现在想通过C#程序将txt编码为Unicode的格式,要求:不改变内容、格式,总之不影响用Unicode的方式读取就行,谢谢。有追加分数
注意,txt已经存在,不能改变内容 展开
注意,txt已经存在,不能改变内容 展开
3个回答
展开全部
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
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
展开全部
/// <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);
/// 文件编码转换
/// </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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Encoding.ASCII的编码用TextReader读取,然后用Encoding.UTF8 TextWriter写入即可
补充:那你的输出路径给不同的就行了
补充:那你的输出路径给不同的就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询