PDA

Просмотр полной версии : Си2PHP


Fliplab
24.03.2010, 22:42
Подскажите плиз, как будет выглядеть этот код на пхп?

int hex2byte(u8 *hex) {
int i;
static const u8 hextable[255] =
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x00\x00\x 00\x00\x00\x00"
"\x00\x0a\x0b\x0c\x0d\x0e\x0f\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x0a\x0b\x0c\x0d\x0e\x0f\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00";

for(i = 0; hex[(i << 1)] && hex[(i << 1) + 1]; i++) {
hex[i] = (hextable[hex[(i << 1)]] << 4) | hextable[hex[(i << 1) + 1]];
}
return(i);
}

Fliplab
24.03.2010, 23:19
Что ни одного гуру нет?(((

Doom123
24.03.2010, 23:48
хз как будет а пхп просто перевёл всё на пхп)


<?php

function hex2byte($hex) {
$hextable =
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x00\x00\x 00\x00\x00\x00
\x00\x0a\x0b\x0c\x0d\x0e\x0f\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x0a\x0b\x0c\x0d\x0e\x0f\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00";

for($i = 0; $hex[($i << 1)] && $hex[($i << 1) + 1]; $i++) {
$hex[$i] = ($hextable[$hex[($i << 1)]] << 4) | $hextable[$hex[($i << 1) + 1]];
}
return $i;
}

?>


п.с работает .. но верно ли?)
п.с.с что это за тип данных u8 ?

Fliplab
25.03.2010, 00:15
кароче вводится строка типа AABBCCDD и переделывает 0xAA, 0xBBи т.п.

KaE
25.03.2010, 10:02
п.с.с что это за тип данных u8 ?

unsigned char