2011-05-03 8 views
2

PHP 초보자는 여기에 있습니다. 내 코드에서 고정 키를 사용하려고합니다. 어떻게해야합니까? 나는이 PHP를 어떻게해야합니까16 진수 문자열을 PHP에 저장

unsigned char key[] = { 0x3f, 0xee, 0x40, 0x93, 0x2f, 0xca, 0x7b, 0xdf, 0x9f, 0x04, 0x23, 0x62, 0x9e, 0x33, 0x98, 0x4f }; 

- 예를 들어 C에서

나는 이렇게? 나는 PHP에서 문자열 개념을 완전히 이해하지 못했지만 PHP에서는 바이트 배열 개념이 없지만 PHP는 어떻게 이진 데이터를 처리합니까? 특히 서명 된 문자와 서명되지 않은 문자를 의미합니다.

나는 어떻게 든 hex2bin을 사용할 수 있다고 생각합니다. 이것은 C 배열에서 위의 키를 올바르게 표현한 것입니까?

$key = hex2bin('3fee40932fca7bdf9f0423629e33984f'); 

편집 : 코드에서 고정 키를 나타내는 표준 방법은 무엇입니까?

+0

실제 바이너리가 아닌 문자열을 받게됩니다. 팩을 시도하십시오 – theazureshadow

+1

http://www.php.net/manual/en/function.pack.php – theazureshadow

+0

예, 'hex2bin'은 이에 상응하는 PHP 문자열을 제공합니다. – mario

답변

2

C 코드의 PHP 동등한은 다음과 같습니다

$key = array(
    0x3f, 
    0xee, 
    0x40, 
    /* etc. */ 
); 

PHP는 현명한 방법으로 일을한다 : 그것은 당신을 위해 데이터 유형을 처리합니다. "unsigned char"와 같은 것은 없습니다. 정수가 있습니다. 오른쪽 연산자를 사용하면 쉽게 문자열이나 부동 소수점이 될 수 있습니다. 부호없는 숫자의 개념은 PHP와는 다릅니다. 그들은 모두 서명되어 있습니다. 0x80-128이되기를 원하면 더 많은 PHP-ish 솔루션을 찾아야합니다.

관련 문제