使用 ISO-8859-1 编码写入文件

cc0*_*cc0 1 vb6 character-encoding

我有一些顽固地写入 Windows-1252 的 vb6 代码。

  Open fileName For Binary Access Write As #fileNo
  Put #fileNo, , contents
  Close #fileNo
Run Code Online (Sandbox Code Playgroud)

通过这样做,我设法使其写入 UTF-16 (LE);

contents = ChrW$(&HFEFF&) & contents
Run Code Online (Sandbox Code Playgroud)

有什么方法可以轻松地将其写入 ISO-8859-1?在这里将不胜感激示例/建议。

Bob*_*b77 5

如果您的文件不是很大,那么 ADO 可以帮助您快速处理奇怪的编码。

例子:

Option Explicit

Private Sub Main()
    Const contents As String = "Hello World.  (4 × 6) ÷ 8 = 3 €€€ ƒƒƒ"
    Dim Stm As ADODB.Stream

    Set Stm = New ADODB.Stream
    With Stm
        .Open
        .Type = adTypeText
        .Charset = "iso-8859-1"
        .LineSeparator = adLF
        .WriteText contents, adWriteLine
        .SaveToFile "ISO-8859-1.txt", adSaveCreateOverWrite
        .Close

        .Open
        .Type = adTypeText
        .Charset = "windows-1252"
        .LineSeparator = adCRLF
        .WriteText contents, adWriteLine
        .SaveToFile "Windows-1252.txt", adSaveCreateOverWrite
        .Close
    End With
    MsgBox "Done"
End Sub
Run Code Online (Sandbox Code Playgroud)