VB6 字符串处理连接问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 21:44:32
'Dim er1, erer, erer3 As String
er1 = Asc(Mid(mstring, I + 1, 1))
erer = box((box(a) + box(J)) Mod 256)
erer3 = er1 Xor erer
'在后面顺次输出i,a,j,if
Text5 = Text5 & I & "|" & a & "|" & J & "|" & erer3 & vbCrLf
Text3 = Text3 & erer3 & "|"
result = result & Chr(erer3)
php原版:
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));

在生成result变量前php和vb的结果完全一样,最后我就发现是vb链接字符串连接出来的结果跟php不同。不知道有人对这个有研究没有。
php
vb用result=result+(或者是&)变量然后加出来的字符位数也是13。+和&连接出来的字符串内容一样,但是就是跟php的对不上,每一位的asc一下跟php也都完全一样, base64函数也是用的同一个,可是最后结果就是不一样
很急啊谢谢了先
一楼那无关的
原来声明过String,结果一样

某只二楼给我个参考?我trim了一下似乎无效,BASE64出来的结果没变反正

你的er1, erer, erer3 中用到的都是数字转换成的字符串,因此前面有一个符号位。解决的办法就是把数字转换成的串先用trim函数去掉前导空格,再连接起来。
给你个例子:Text3 = Text3 & trim(str(erer3)) & "|"

'Dim er1, erer, erer3 As String
在VB中这样定义变量,前两个好像不会是字符型哦!