vb发html邮件乱码,用VB中inet控件发送post表单到utf-8的网页里,生成的网页是乱码啊,怎么办!...

本文介绍了一个使用 VB.NET 实现的字符串到 UTF-8 字节序列的编码转换函数。通过调用 Windows API 函数 WideCharToMultiByte 和 MultiByteToWideChar 来完成从 Unicode 到 UTF-8 的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Code Snippet

Private Const CP_ACP = 0        ' default to ANSI code page

Private Const CP_UTF8 = 65001   ' default to UTF-8 code page

Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long

Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long

Public Function EncodeToBytes(ByVal sData As String) As Byte() ' Note: Len(sData) > 0

Dim aRetn() As Byte

Dim nSize As Long

nSize = WideCharToMultiByte(CP_UTF8, 0, StrPtr(sData), -1, 0, 0, 0, 0)

ReDim aRetn(0 To nSize - 1) As Byte

WideCharToMultiByte CP_UTF8, 0, StrPtr(sData), -1, VarPtr(aRetn(0)), nSize, 0, 0

EncodeToBytes = aRetn

End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值