Oversættelse af VB6 til PHP
HejsaJeg prøver at oversætte denne VB6 function til PHP
Private Function Decode(ByVal Encoded As String) As String
Dim I As Integer
Dim strResult As String
Dim intCounter As Integer
Dim strKey As String
strKey = "5371682543762534256743"
intCounter = 1
For I = 1 To Len(Encoded) Step 3
strResult = strResult + Chr(CInt(Mid(Encoded, I, 3)) - CInt(Mid(strKey, intCounter, 3)))
intCounter = intCounter + 1
If intCounter = 20 Then intCounter = 1
Next I
Decode = strResult
End Function
Jeg er nået frem til følgende:
public function decodePirep($str)
{
$key = "5371682543762534256743";
$counter = 0;
for($i=0;$i<strlen($str)-1;$i+=3){
$val1 = (int)substr($str,$i,3);
$val2 = (int)substr($key, $counter, 3);
$val_res = $val1 - $val2;
$res = $res.chr($val_res);
$counter++;
if($counter == 20){
$counter = 0;
}
}
return $res;
}
Men den virker kun delvist, mange af de udregninger jeg laver bliver negative, og dermed en helt mærkelig ascii tegn.
Nogen som kan hjælpe med den ?