用C#写一个UTF-8文档转gb2313的程序
时间: 2023-07-16 11:12:52 浏览: 49
以下是一个C#的UTF-8转GB2312的简单实现:
```csharp
using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
// 读取UTF-8文本文件
string utf8Text = File.ReadAllText("input.txt", Encoding.UTF8);
// 将UTF-8转换为GB2312编码
Encoding utf8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");
byte[] utf8Bytes = utf8.GetBytes(utf8Text);
byte[] gb2312Bytes = Encoding.Convert(utf8, gb2312, utf8Bytes);
string gb2312Text = gb2312.GetString(gb2312Bytes);
// 将转换后的文本写入文件
File.WriteAllText("output.txt", gb2312Text, gb2312);
Console.WriteLine("Done.");
}
}
```
这个程序使用了`Encoding`类的`GetBytes`和`Convert`方法将UTF-8编码转换为GB2312编码,然后使用`GetString`方法将字节数组转换为字符串。最后,使用`File.WriteAllText`方法将文本写入文件。