首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VBint转char

2012-04-12 
VBint转char求助C#:Z[zindex + i + 7] (char)((Z[zindex + (i & 7)] 9) | (Z[zindex + (i + 1 & 7)]

VBint转char求助
C#: Z[zindex + i + 7] = (char)((Z[zindex + (i & 7)] << 9) | (Z[zindex + (i + 1 & 7)] >> 7))怎样转成VB?
C#哪里可以通过,但是VB不行;我这样做,转成char的时候就超出范围了:“参数“CharCode”必须在 -32768 到 65535 的范围内。”
(我这样写的)VB: Z(zindex + i + 7) = ChrW((AscW(Z(zindex + (i And 7))) << 9) Or (AscW(Z(zindex + (i + 1 And 7))) >> 7))

 int a = Z[zindex + (i & 7) ]<< 9 | (Z[zindex + (i + 1 & 7)] >> 7); 这里生成了一个比较大的int(测试数据):14468840 ;VB哪里调试也是这样

[解决办法]
不知道新版本VB有没有简单方法,过去应是将h分解到字节数组中,然后
Dim EC As System.Text.Encoding = System.Text.Encoding.UTF8
Dim C As String = EC.GetString(Buf)

PS:是UTF8么?UTF8下14468840对应'?'?
[解决办法]
Dim g As Char = Convert.ToChar(h And &HFFFF)
或者关溢出检查
Dim g As Char = Convert.ToChar(CUShort(h))

热点排行