Я пытаюсь перенести этот C# код на PHP:
var headerList = new List<byte>();
headerList.AddRange(Encoding.ASCII.GetBytes("Hello\n"));
headerList.AddRange(BitConverter.GetBytes(1));
byte[] header = headerList.ToArray();
Если я вывожу header
, как это выглядит?
Мой прогресс так far:
$in_raw = "Hello\n";
for($i = 0; $i < mb_strlen($in_raw, 'ASCII'); $i++){
$in.= ord($in_raw[$i]);
}
$k=1;
$byteK=array(8); // should be 16? 32?...
for ($i = 0; $i < 8; $i++){
$byteK[$i] = (( $k >> (8 * $i)) & 0xFF); // Don't known if it is a valid PHP bitwise op
}
$in.=implode($byteK);
print_r($in);
, который дает мне такой вывод: 721011081081111010000000
Я довольно уверен, что первая часть преобразования строки в байты ASCII верна, но эти BitConverter .. Я не знаю, что ожидать в качестве вывода ...
Эта строка (или байтовый массив) используется в качестве квитирования для соединения с сокетом. Я знаю, что версия C# работает, но мой обновленный код не работает.
Thx.