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

如题!... 如题! 展开
 我来答
小生怕鬼
2007-11-21 · 超过30用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
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

这样即可!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式