养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

VB6.0 如何将text转化为UTF8

时间:2024-10-19 13:34:45

PrivateDeclareFunctionMultiByt娣定撰钠eToWideCharLib"稆糨孝汶;kernel32"(ByValCodePageAsLong,ByValdwFlagsAsLong,ByVallpMultiByteStrAsLong,ByValcchMultiByteAsLong,ByVallpWideCharStrAsLong,ByValcchWideCharAsLong)AsLongPrivateDeclareFunctionWideCharToMultiByteLib"kernel32"(ByValCodePageAsLong,ByValdwFlagsAsLong,ByVallpWideCharStrAsLong,ByValcchWideCharAsLong,ByVallpMultiByteStrAsLong,ByValcchMultiByteAsLong,ByVallpDefaultCharAsLong,ByVallpUsedDefaultCharAsLong)AsLongPrivateConstCP_ACP=0'defaulttoANSIcodepagePrivateConstCP_UTF8=65001'defaulttoUTF-8codepage

方法/步骤

1、'字符转UTF8PublicFunctionEncodeToBytes(ByValsDataAsString)AsByte()'Note:Len(sData)>0DimaRetn()AsByteDimnSizeAsLongnSize=WideCharToMultiByte(CP_UTF8,0,StrPtr(sData),-1,0,0,0,0)-1IfnSize=0ThenExitFunctionReDimaRetn(0TonSize-1)AsByteWideCharToMultiByteCP_UTF8,0,StrPtr(sData),-1,VarPtr(aRetn(0)),nSize,0,0EncodeToBytes=aRetnEraseaRetnEndFunction

2、'UTF8转字符PublicFunctionDecodeToBytes(ByValsDataAsString)AsByte()'Note:Len(sData)>0DimaRetn()AsByteDimnSizeAsLongnSize=MultiByteToWideChar(CP_UTF8,0,StrPtr(sData),-1,0,0)-1IfnSize=0ThenExitFunctionReDimaRetn(0To2*nSize-1)AsByteMultiByteToWideCharCP_UTF8,0,StrPtr(sData),-1,VarPtr(aRetn(0)),nSizeDecodeToBytes=aRetnEraseaRetnEndFunction

3、PrivateSubCommand1_Click()DimsAsStrings=StrConv(EncodeToBytes("中文"),vbUnicode)'将utf编码的数组转VB可处理字符MsgBoxst=DecodeToBytes(StrConv(s,vbFromUnicode))MsgBoxtEndSub

© 一点知识