关于VB6中的ChrB,MidB之类的函数,在VB.NET中......

时间:2022-06-01 23:15:41
关于VB6中的ChrB,MidB之类的函数,在VB.NET中已经不支持了,那么请问下面这个函数
的功能在VB.NET中怎么才能完成?

Public Function Byte2StringA(aBt() As Byte, iStr As Integer, iEnd As Integer) As String
   Dim sTmp       As String
   Dim I          As Integer
   For I = iStr To iEnd
      sTmp = sTmp & ChrB(aBt(I))
   Next I
   sTmp = StrConv(sTmp, vbUnicode)
   Byte2StringA = sTmp
End Function

急!!!在线等待!!

9 个解决方案

#1


怎么没人知道吗?版主救救我啊~~~~~~~~~~~

#2


'Dim b() As Byte
'Dim iStart As Integer
'Dim iEnd As Integer
s = System.Text.Encoding.AscII.GetString(b, iStart, iEnd)
'或者:
s = System.Text.Encoding.AscII.GetString(b)

如果不想写这么多,可以在文件开头加上这句:
Imports System.Text

s = Encoding.AscII.GetString(b)

#3


对不起,没有达到我要的效果,假设有一个Byte数组是:
b(0)=203
b(1)=206
b(2)=50
这个数组在VB6里可以转换成"宋2",这才是我要的效果.

而按你告诉我的方法我转换成了"KN2".中文不见了.

该怎么办?困惑中...求救!!

#4


高分求教高手!!!!

谁能给我答案啊?

#5


那么:

s = System.Text.Encoding.GetEncoding("zh-chs").GetString(b)

总该可以了吧(除非你是美国版的Windows)。

#6


最后我有GB18030转 换出来了,不过还是要谢谢你!

#7


最后我有GB18030转 换出来了,不过还是要谢谢你!

#8


如果是在中文系统下面,可以用System.Text.Encoding.Default.GetString(b),但这样在其它系统里面好像无法保证一致性。

#9


除了GetEncoding("GB18030")以外,GetEncoding("GB2312")也可以,不过GB18030的兼容性好一点。

#1


怎么没人知道吗?版主救救我啊~~~~~~~~~~~

#2


'Dim b() As Byte
'Dim iStart As Integer
'Dim iEnd As Integer
s = System.Text.Encoding.AscII.GetString(b, iStart, iEnd)
'或者:
s = System.Text.Encoding.AscII.GetString(b)

如果不想写这么多,可以在文件开头加上这句:
Imports System.Text

s = Encoding.AscII.GetString(b)

#3


对不起,没有达到我要的效果,假设有一个Byte数组是:
b(0)=203
b(1)=206
b(2)=50
这个数组在VB6里可以转换成"宋2",这才是我要的效果.

而按你告诉我的方法我转换成了"KN2".中文不见了.

该怎么办?困惑中...求救!!

#4


高分求教高手!!!!

谁能给我答案啊?

#5


那么:

s = System.Text.Encoding.GetEncoding("zh-chs").GetString(b)

总该可以了吧(除非你是美国版的Windows)。

#6


最后我有GB18030转 换出来了,不过还是要谢谢你!

#7


最后我有GB18030转 换出来了,不过还是要谢谢你!

#8


如果是在中文系统下面,可以用System.Text.Encoding.Default.GetString(b),但这样在其它系统里面好像无法保证一致性。

#9


除了GetEncoding("GB18030")以外,GetEncoding("GB2312")也可以,不过GB18030的兼容性好一点。