我有$ _SERVER ['REDIRECT_SSL_CLIENT_S_DN']有一些十六進制數據的內容。我如何解碼它?如何解碼十六進制內容?
$_SERVER['REDIRECT_SSL_CLIENT_S_DN'] = '../CN=\x00M\x00\xC4\x00,\x00I\x00S\x00,\x004\x000\x003\x001\x002\x000\x000\x002/SN=..';
$pattern = '/CN=(.*)\\/SN=/';
preg_match($pattern, $_SERVER['REDIRECT_SSL_CLIENT_S_DN'], $server_matches);
print_r($server_matches[1]);
結果是:
\x00M\x00\xC4\x00,\x00I\x00S\x00,\x004\x000\x003\x001\x002\x000\x000\x002
結果我需要的是:
MÄ,IS,40312002
我試圖把它與chr(hexdec($value));
解碼和它差不多的作品,但在HTML輸入我看到很多問號。
編輯: 附加測試結果。還不完美。陣列顯示一些錯誤:http://pastebin.com/BC4xxqmE
爲什麼有這麼多'\ x00's? –
嘗試'utf8_encode(chr(hexdec($ value)));'。 –
@RocketHazmat幾乎可以工作,但數組顯示出一些奇怪的值。看看我的pastebin鏈接。 – Bob0101