2014-07-04 3 views
0

ASCII에서 16 진수로 변환하려고하지만 사용 가능한 온라인 도구와 다른 결과가 나타납니다. 내가 찾고있는 결과를 알고 있으므로 the online tool's 결과가 정확하고 내 코드가 올바르지 않은 것으로 보이지만 이유가 해결되지 않습니다.PHP에서 ASCII에서 16 진수로 변환

String:   2Ffbj?DoyXOU 
Correct output: 32 46 66 62 6a 3f 44 6f 79 58 4f 55 (from linked site above) 
My output:  32 46 66 62 6a 3f 44 6f 79 58 4f 75 

내 스크립트를

echo bin2hex(utf8_decode("2Ffbj?DoyXOU")); 

잘못인가?

답변

3

사용하는 것이 :

function ascii2hex($ascii) { 
    $hex = ''; 
    for ($i = 0; $i < strlen($ascii); $i++) { 
    $byte = strtoupper(dechex(ord($ascii{$i}))); 
    $byte = str_repeat('0', 2 - strlen($byte)).$byte; 
    $hex.=$byte." "; 
    } 
    return $hex; 
} 

결과 다음 작전의 방법은 올바른 결과를 반환하지 않는 이유

ascii to hex

+0

당신이 설명 할 수 있습니까? –

+0

나는 대답을 편집했다. –

+0

'bin2hex()'가 적절한 결과를 반환하지 않는 동안 왜이 알고리즘이 효과가 있을지 궁금했습니다. –