VB 如何将TEXT保存为utf8格式的文件

如题!

Function U2UTF8(ByVal a_iNum)
Dim sResult, sUTF8
Dim iTemp, iHexNum, i

iHexNum = Trim(a_iNum)

If iHexNum = "" Then
Exit Function
End If

sResult = ""

If (iHexNum < 128) Then
sResult = sResult & iHexNum
ElseIf (iHexNum < 2048) Then
sResult = ChrB(&H80 + (iHexNum And &H3F))
iHexNum = iHexNum \ &H40
sResult = ChrB(&HC0 + (iHexNum And &H1F)) & sResult
ElseIf (iHexNum < 65536) Then
sResult = ChrB(&H80 + (iHexNum And &H3F))
iHexNum = iHexNum \ &H40
sResult = ChrB(&H80 + (iHexNum And &H3F)) & sResult
iHexNum = iHexNum \ &H40
sResult = ChrB(&HE0 + (iHexNum And &HF)) & sResult
End If

U2UTF8 = sResult
End Function

Function GB2UTF(ByVal a_sStr)
Dim sGB, sResult, sTemp
Dim iLen, iUnicode, iTemp, i

sGB = Trim(a_sStr)
iLen = Len(sGB)
For i = 1 To iLen
sTemp = Mid(sGB, i, 1)
iTemp = Asc(sTemp)

If (iTemp > 127 Or iTemp < 0) Then
iUnicode = AscW(sTemp)
If iUnicode < 0 Then
iUnicode = iUnicode + 65536
End If
Else
iUnicode = iTemp
End If

sResult = sResult & U2UTF8(iUnicode)
Next

GB2UTF = sResult
End Function

Private Sub Form_Load()
Dim utf8() As Byte
utf8 = U2UTF8("hello")

Open "d:\a.txt" For Binary As #1
Put #1, , utf8
Close #1
End Sub

这样即可!!
温馨提示:答案为网友推荐,仅供参考
相似回答