我用VB开发一个网络通信程序,通信对方的程序使用VC编写。但是遇到一个棘手的问题:VB使用UNICODE对字符串进行编码,而VC使用ASCII和GB2312-80进行编码。如何才能让VB使用与VC相同的编码?(我不想让VC写的程序做改动)
解决方案 »
- 再搞不定要死人了 关于用inet控件post提交回帖
- 如何用vb将图片二值化?
- VB中实现菜单项的选择显示
- 如何判断一个控件失去焦点?
- 从别人那里拷过来的VB文件为什么不能运行啊?
- vb6.0安装覆盖vb5.0出现了一个奇怪的问题!!!!!!
- 如何在弹出菜单中加入图标??
- 什么意思***A domain controller could not be contacted**************
- 请问怎样使vb编译过的exe文件接受传递参数?
- 请问:几个DataGrid如MSHFlexGrid或DataGrid的表头(COLUMN TITLE)如何设置对齐方式?
- 数据库方面的爱好者来探讨,可加分
- 在VB中怎样判断打印机是否开机?
string 必要参数。要转换的字符串表达式。
conversion 必要参数:Integer。其值的和决定转换的类型。
设置值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 中,空白的实际值会随国家/地区而不同。
b() As Byte, _
ByVal Index As Long, _
ByVal lngNum As Long)
Dim bytData() As Byte bytData = StrConv(strValue, vbFromUnicode)
If UBound(bytData) >= 0 Then
If UBound(bytData) >= lngNum Then
CopyMemory b(Index), bytData(0), lngNum
Else
CopyMemory b(Index), bytData(0), UBound(bytData) + 1
End If
End If
End Sub