Конвертировать строку C # в PHP - PullRequest
0 голосов
/ 07 июня 2009

Я хочу преобразовать строку C # в PHP, но она не работает (результат не тот):

C #:

PHP:

Кто-то знает, как это сделать?

Спасибо

1 Ответ

1 голос
/ 07 июня 2009

Этот код должен возвращать тот же результат.

Единственная проблема, о которой я могу думать, это то, что тип данных внутри "$ header [$ i]" - это строка, а не целое число. Это заставляет PHP анализировать ASCII-код $ header [$ i] вместо значения, которое он должен представлять:

Ожидаемый результат:

$xorKey = 16909060;
$data = 1337;

$data = ((16 * ($xorKey ^ (~$data & 0xFF)))
                 | (($xorKey ^ (~$data & 0xFF)) >> 4)) & 0xFF;

echo $data; // int 60

В то время как использование строки приводит к следующему:

$xorKey = 16909060;
$data = '1337'; // HERE BE DRAGONS

$data = ((16 * ($xorKey ^ (~$data & 0xFF)))
                 | (($xorKey ^ (~$data & 0xFF)) >> 4)) & 0xFF;

echo $data; // int 112

Чтобы исправить это:

$xorKey = 16909060;
$data = '1337';

$data = intval($data); // Parse this string as an integer.

$data = ((16 * ($xorKey ^ (~$data & 0xFF)))
                 | (($xorKey ^ (~$data & 0xFF)) >> 4)) & 0xFF;

echo $data; // int 60
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...