VB6:用UTF8字符串写一个平面文件

时间:2014-06-04 20:44:17

标签: utf-8 vb6

我正在修改一个程序,它从cvs创建一个位置平坦的EDI文件。输入文件使用UTF-8作为输出必须使用。

我遇到了使用以下代码编写UTF-8字符串的问题:

Public Function WriteFileBinArray(sString() As Byte, iChannel As Integer) As Boolean

    Const kbytCarriageReturn        As Byte = 13
    Const kbytNewLine               As Byte = 10

    WriteFileBinArray= False
    NumberError = 0
    sErrore = ""

    Put #iChannel, , sString()
    Put #iChannel, , kbytCarriageReturn
    Put #iChannel, , kbytNewLine

    WriteFileBinArray= True

End Function

输出字符串不会有预期的长度。因此位置平面文件将是错误的。如你所知,每个UTF-8字符由两个字节组成。我想问题就在这里。

我如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

您说明问题是输出字符串,不会有预期的长度

我原以为这是将输出字符串填充为预期长度的问题。通过将数据复制到所需长度的另一个数组中,并用空格或空字符填充它,使其与预期长度匹配。