【发布时间】:2011-03-02 14:09:56
【问题描述】:
我应该如何修改以下 Vb.Net 代码以将str 写入 unicode 文件?
在写入文件之前是否需要将str 转换为Unicode?
Using sw As StreamWriter = New StreamWriter(fname)
sw.Write(str)
sw.Close()
End Using
【问题讨论】:
标签: vb.net unicode streamwriter
我应该如何修改以下 Vb.Net 代码以将str 写入 unicode 文件?
在写入文件之前是否需要将str 转换为Unicode?
Using sw As StreamWriter = New StreamWriter(fname)
sw.Write(str)
sw.Close()
End Using
【问题讨论】:
标签: vb.net unicode streamwriter
使用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 位)字符集编码。
【讨论】:
文档说StreamWriter 默认使用 UTF8 编码。
【讨论】:
以下代码明确指示保存为不带 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。
【讨论】: