如何在Vb.Net中写入Unicode文件

时间:2010-06-11 09:32:01

标签: vb.net unicode streamwriter

如何修改以下Vb.Net代码以将str写入unicode文件?

在写入文件之前,是否需要将str转换为 Unicode

Using sw As StreamWriter = New StreamWriter(fname)
    sw.Write(str)
    sw.Close()
End Using

3 个答案:

答案 0 :(得分:8)

使用overriden constructor指定编码

Using sw As StreamWriter = New StreamWriter(fname, true, System.Text.Encoding.Unicode)
    sw.Write(str)
    sw.Close()
End Using

根据您的要求选择UTF8(8位)或Unicode(16位)字符集编码。

答案 1 :(得分:2)

文档说明StreamWriter默认使用UTF8编码。

答案 2 :(得分:1)

以下代码明确指示保存为没有BOM的UTF-8。

Dim utf8WithoutBom As New System.Text.UTF8Encoding(False)
Dim orfWriter As System.IO.StreamWriter = New System.IO.StreamWriter(fileName, append, utf8WithoutBom)
orfWriter.Write(saveString)
orfWriter.Close()

有关完整文档,请参阅www.ezVB.net