C#如何将txt的编码改为ansi
时间: 2024-10-09 18:01:22 浏览: 82
C#调用非托管动态库中的函数方法
在C#中,如果你想要将txt文件从非ANSI编码转换为ANSI编码,可以使用`StreamReader`读取原文件,然后使用`StreamWriter`写入一个新的文件,并指定编码格式为ASCII(实际上ANSI也是一种兼容ASCII的编码)。下面是一个简单的示例:
```csharp
using System;
using System.IO;
public void ConvertToAnsi(string inputFilePath, string outputFilePath)
{
// 读取原始文本文件
using (StreamReader reader = new StreamReader(inputFilePath, detectEncodingFromByteOrderMarks: true))
{
// 检测并假设为UTF-8或其他编码,因为detectEncodingFromByteOrderMarks默认启用
Encoding originalEncoding = reader.CurrentEncoding;
// 创建一个新的StreamWriter,设置为ANSI编码
using (StreamWriter writer = new StreamWriter(outputFilePath, false, Encoding.Ansi))
{
// 将内容逐行写入到新文件
string line;
while ((line = reader.ReadLine()) != null)
{
writer.WriteLine(line);
}
}
}
Console.WriteLine($"完成了从{originalEncoding.WebName}编码到ANSI编码的转换,结果保存在{outputFilePath}。");
}
// 调用函数时传入输入和输出路径
ConvertToAnsi("input.txt", "output.txt");
```
阅读全文