Если вы не возражаете против использования сторонней библиотеки, то BeautifulSoup выполнит почти то, что вы просите:
>>> from BeautifulSoup import BeautifulStoneSoup
>>> soup = BeautifulStoneSoup('''''')
>>> soup.xml_api_reply.weather.current_conditions.temp_f['data']
u'68'
Они представляют, как вы хотите, чтобы данные, которые вы упаковываете, были представлены в двоичном формате:
so
$ bin = pack (" v ", 1); => 0000000000000001
(16 бит)
где
$ bin = pack ("V", 1) =>
Код ниже продемонстрирует это. Обратите внимание, что вы можете распаковать с другим
формат из того, как вы упаковали данные.
<?php
$bin = pack("S", 65535);
$ray = unpack("S", $bin);
echo "UNSIGNED SHORT VAL = ", $ray[1], "\n";
$bin = pack("S", 65536);
$ray = unpack("S", $bin);
echo "OVERFLOW USHORT VAL = ", $ray[1], "\n";
$bin = pack("V", 65536);
$ray = unpack("V", $bin);
echo "SAME AS ABOVE BUT WITH ULONG VAL = ", $ray[1], "\n";
?>
Как отмечено в документации php для пакета, функция заимствована из функции пакета Perl.
Взгляните на документацию Perl для пакета , особенно на раздел примеров в самом низу страницы. Пакет PHP не реализует все форматы, но документация Perl для этой функции лучше справляется с предоставлением примеров и объяснением каждого формата.