-3
我需要這部分(在C++)的相當,但對PHP:結合字節PHP
unsigned char arr[ 2 ];
arr[ 0 ] = 0x04;
arr[ 1 ] = 0x00;
unsigned short shape_types;
memcpy(&shape_types, arr, 2)
也許有人知道一個程序,在那裏我可以結合字節,看看導致十六進制和十二月?
我需要這部分(在C++)的相當,但對PHP:結合字節PHP
unsigned char arr[ 2 ];
arr[ 0 ] = 0x04;
arr[ 1 ] = 0x00;
unsigned short shape_types;
memcpy(&shape_types, arr, 2)
也許有人知道一個程序,在那裏我可以結合字節,看看導致十六進制和十二月?
您提供的代碼不直接適用於PHP。
PHP缺乏將數據從一個內存位置直接移動到另一個內存的打字或能力。
我猜你想要的幾乎是以下內容。
你的輸入是一個字節數組:(包括最多4個字節用於32個系統中,最多8個64位)
$bytes = array(
0x04,
0x00
);
可以用循環酌減:
$result = 0;
foreach ($bytes as $byte) {
$result = $result << 8 | $byte;
}
或用array_reduce
:
$result = array_reduce(
$bytes,
function ($out, $in) {
return $out << 8 | $in;
}
);
甚至只是直接結合的值:
$result = $bytes[0] << 8 | $bytes[1];
顯示其十六進制:
var_dump(dechex($result));
輸出:
字符串 '400'(長度= 3)
非常感謝!但我想我必須閱讀更多關於字節。 – user1256630 2012-03-09 15:25:06
SO不是一個網站,人們做你的爲你工作。您需要代碼 - 您聘請了一名開發人員。 – zerkms 2012-03-08 09:30:18
你有沒有看過PHP手冊作爲出發點,或者你只是希望有人會給你的代碼? – 2012-03-08 09:30:49
我不等到有人回答。我只想了解如何組合2個字節。 – user1256630 2012-03-08 10:06:00