解决方案 »
- vb中如何获取当前WINDOWS操作系统的语言种类?如简体、繁体或英文
- 请教这个程序里面Sndstr打印出来会是什么样子?
- 数据类型转移,数据通讯协议
- 我用VB连接开放web服务80端口无反应?[求助]
- vb中如何实现对象实例化?
- 急问:我想把VB中的代码复制到word中,结果发现到所有的汉字都是乱码,不知道是什么原因呀
- 我的程序用了中文,但在英文的操作系统显示乱码,请问怎样解决?
- 中英文混合的文本中怎么测试行尾是单词?
- 请求BITMAP高手速诊断我的程序! (附代码)
- VBA如何在关闭工作簿前都保留公共变量不释放?
- vb excel 字符串
- 用过CodeSmart_2009_VB6的大侠可否说说它的好处与弊端!
或者转换为UTF8(用StrConv不行)
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
'常用的代码页:
const cpUTF8 =65001
const cpGB2312 = 936
const cpGB18030=54936
const cpUTF7 =65000
Function MultiByteToUTF16(UTF8() As Byte, CodePage As Long) As String
Dim bufSize As Long
bufSize = MultiByteToWideChar(CodePage, 0&, UTF8(0), UBound(UTF8) + 1, 0, 0)
MultiByteToUTF16 = Space(bufSize)
MultiByteToWideChar CodePage, 0&, UTF8(0), UBound(UTF8) + 1, StrPtr(MultiByteToUTF16), bufSize
End FunctionFunction UTF16ToMultiByte(UTF16 As String, CodePage As Long) As Byte()
Dim bufSize As Long
Dim arr() As Byte
bufSize = WideCharToMultiByte(CodePage, 0&, StrPtr(UTF16), Len(UTF16), 0, 0, 0, 0)
ReDim arr(bufSize - 1)
WideCharToMultiByte CodePage, 0&, StrPtr(UTF16), Len(UTF16), arr(0), bufSize, 0, 0
UTF16ToMultiByte = arr
End FunctionPrivate Sub Command1_Click()
MsgBox MultiByteToUTF16(UTF16ToMultiByte("ab中,c", cpUTF8), cpUTF8)
End Sub