Public Function BytesToBstr(ByVal body, ByVal Cset) As String
Dim objstream
Set objstream = CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode = 3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
end function之前用的adodb stream方法,一般挺好的,但如果程序忙的时候有时会出错,也不知道什么原因。。然后有方法是 Dim i As Long
Dim strRet As String
strRet = ""
For i = 0 To UBound(body) - 1
strRet = strRet & Chr(body(i))
Next
BytesToBstr = strRet但是不能指定字符集。有没有比较稳定的转换方法呢?谢谢。byte to stringvb6
Dim objstream
Set objstream = CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode = 3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
end function之前用的adodb stream方法,一般挺好的,但如果程序忙的时候有时会出错,也不知道什么原因。。然后有方法是 Dim i As Long
Dim strRet As String
strRet = ""
For i = 0 To UBound(body) - 1
strRet = strRet & Chr(body(i))
Next
BytesToBstr = strRet但是不能指定字符集。有没有比较稳定的转换方法呢?谢谢。byte to stringvb6
解决方案 »
- webbrowser的问题(递增打开某字符串尾数+1的网页,并存取其网页源码)
- 关于datagrid的运用??
- 用Visual Basic 编写ActiveX 控件(*.ocx)的编译问题?
- 这样的sql语句如何写!!在线等
- 两个著名公司的经典笑话-过节给大家解闷!~
- 请问,那本参考书上有对这个API数据结构中定义的各个变量的详细解释
- 征求 XP 菜单控件源码,分不够再给!
- 为什么不能实现呢???谢谢大家请告诉我一下
- 请问怎样读取EXE文件的图标并显示?
- 太奇怪了。。。这个问题。。。。我是老山。快来帮帮忙!!!!
- 关于VB中TransFormmatrix的应用
- 怎样知道collection是否为空?
dim B() as byte
dim s as strings=strconv(b,vbunicode) '如果b中保存的是ansi字符
s=b '如果b中保存的是Unicode字符
是的,原来用内建的方法即可。不过要根据charset来转换还需要设置localid,比如BytesToBstr = StrConv(body, vbUnicode, &H804) 'gb2312
BytesToBstr = StrConv(body, vbUnicode, &H404) 'big5
BytesToBstr = StrConv(body, vbUnicode, &H411) 'shift_jis有没有全一些的转换设置呢
string 必要参数。要转换的字符串表达式。
conversion 必要参数。Integer。其值的和决定转换的类型。
LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。)
设置值conversion 参数的设置值为:常数 值 说明
vbUpperCase 1 将字符串文字转成大写。
vbLowerCase 2 将字符串文字转成小写。
vbProperCase 3 将字符串中每个字的开头字母转成大写。
vbWide* 4* 将字符串中单字节字符转成双字节字符。
vbNarrow* 8* 将字符串中双字节字符转成单字节字符。
vbKatakana** 16** 将字符串中平假名字符转成片假名字符。 vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。
vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。 *应用到远东国别。**仅应用到日本。注意 这些常数是由 VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如 vbUpperCase + vbWide,互斥的常数不能组合,例如 vbUnicode + vbFromUnicode。当在不适用的国别使用常数 vbWide、vbNarrow、vbKatakana,和 vbHiragana 时,就会导致运行时错误。下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),换行 (Chr$(10)),垂直制表符 (Chr$(11)),换页 (Chr$(12)) ,回车 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的实际值会随国家/地区而不同。说明在把 ANSI 格式的 Byte 数组转换为字符串时,您应该使用 StrConv 函数。当您转换 Unicode 格式的这种数组时,使用赋值语句。