Poniżej zamieszczam prostą funkcje, którą napisałem do zamiany tekstu ASCII na kod HEX.
HexEncode
Pamiętajcie tylko, jeżeli korzystacie z funkcji addslashes() to takie dane zostaną zamienione na Hex nieprawidłowo, ponieważ będą uwzględniać ukośniki.
HexEncode
Kod PHP:
function HexEncode($value)
{
$hash = array('!'=>'95', '"'=>'88', '#'=>'9D', '$'=>'4C', '%'=>'F2', '&'=>'3E', '\''=>'BB', '('=>'C0', ')'=>'7F', '*'=>'18', '+'=>'70', ','=>'A6', '-'=>'E2', '.'=>'EC', '/'=>'77',
'0'=>'2C', '1'=>'3A', '2'=>'4A', '3'=>'91', '4'=>'5D', '5'=>'7A', '6'=>'29', '7'=>'BC', '8'=>'6E', '9'=>'D4', ':'=>'40', ';'=>'17', '<'=>'2E', '='=>'CB', '>'=>'72', '?'=>'9C',
'@'=>'A1', 'A'=>'FF', 'B'=>'F3', 'C'=>'F8', 'D'=>'9B', 'E'=>'50', 'F'=>'51', 'G'=>'6D', 'H'=>'E9', 'I'=>'9A', 'J'=>'B8', 'K'=>'84', 'L'=>'A8', 'M'=>'14', 'N'=>'38', 'O'=>'CE',
'P'=>'92', 'Q'=>'5C', 'R'=>'F5', 'S'=>'EE', 'T'=>'B3', 'U'=>'89', 'V'=>'7B', 'W'=>'A2', 'X'=>'AD', 'Y'=>'71', 'Z'=>'E3', '['=>'D5', '\\'=>'BF', ']'=>'53', '^'=>'28', '_'=>'44',
'`'=>'33', 'a'=>'48', 'b'=>'DB', 'c'=>'FC', 'd'=>'09', 'e'=>'1F', 'f'=>'94', 'g'=>'12', 'h'=>'73', 'i'=>'37', 'j'=>'82', 'k'=>'81', 'l'=>'39', 'm'=>'C2', 'n'=>'8D', 'o'=>'7D',
'p'=>'08', 'q'=>'4F', 'r'=>'B0', 's'=>'FE', 't'=>'79', 'u'=>'0B', 'v'=>'D6', 'w'=>'23', 'x'=>'7C', 'y'=>'4B', 'z'=>'8E', '{'=>'06', '|'=>'5A', '}'=>'CC', '~'=>'62');
$output = "0x";
for ($i = 0; $i < strlen($value); $i++)
{
$output .= $hash[$value[$i]];
}
return $output;
}
}
Pamiętajcie tylko, jeżeli korzystacie z funkcji addslashes() to takie dane zostaną zamienione na Hex nieprawidłowo, ponieważ będą uwzględniać ukośniki.
Chcesz pomóc? Wstaw jako sygnature na innym forum:
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522
Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522
Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF