Как записать в файл в Unicode в Vb.Net - PullRequest
6 голосов
/ 11 июня 2010

Как мне изменить следующий код Vb.Net, чтобы записать str в файл в юникоде?

Нужно ли преобразовывать str в Unicode перед записью в файл?

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

Ответы [ 3 ]

8 голосов
/ 11 июня 2010

Используйте переопределенный конструктор , чтобы указать кодировку

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

Выберите кодировку UTF8 (8 бит) или Unicode (16 бит) в соответствии с вашими требованиями.

2 голосов
/ 11 июня 2010

В документации сказано, что StreamWriter по умолчанию использует кодировку UTF8.

1 голос
/ 28 ноября 2013

Приведенный ниже код явно указывает на сохранение как 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 .

...