当前位置:  开发笔记 > 编程语言 > 正文

如何使用UTF-8以外的代码页在C#中写出文本文件?

如何解决《如何使用UTF-8以外的代码页在C#中写出文本文件?》经验,为你挑选了2个好方法。

我想写出一个文本文件.

而不是默认的UTF-8,我想把它编码为ISO-8859-1编码,这是代码页28591.我不知道如何做到这一点......

我用以下非常简单的代码写出我的文件:

using (StreamWriter sw = File.CreateText(myfilename))
{
    sw.WriteLine("my text...");
    sw.Close();
}

Dave Markle.. 81

using System.IO;
using System.Text;

using (StreamWriter sw = new StreamWriter(File.Open(myfilename, FileMode.Create), Encoding.WhateverYouWant))
{    
    sw.WriteLine("my text...");     
}

获取编码的另一种方法:

using System.IO;
using System.Text;

using (var sw  = new StreamWriter(File.Open(@"c:\myfile.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1"))) {
    sw.WriteLine("my text...");             
}

查看StreamWriter构造函数的文档.



1> Dave Markle..:
using System.IO;
using System.Text;

using (StreamWriter sw = new StreamWriter(File.Open(myfilename, FileMode.Create), Encoding.WhateverYouWant))
{    
    sw.WriteLine("my text...");     
}

获取编码的另一种方法:

using System.IO;
using System.Text;

using (var sw  = new StreamWriter(File.Open(@"c:\myfile.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1"))) {
    sw.WriteLine("my text...");             
}

查看StreamWriter构造函数的文档.



2> Johann Gerel..:

简单!

System.IO.File.WriteAllText(path, text, Encoding.GetEncoding(28591));


它可以更简单:File.WriteAllLines(path,lines,Encoding.UTF8);
@LevZ:非常棒-我怀疑9年前写答案时还没有它:)
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有