簡體   English   中英

將python pack轉換為php pack

[英]Convert python pack to php pack

我有這個python腳本

b_string = pack('>hqh2sh13sh5sh3sBiiihiiiiii',
                21, 0,
                len(country), country,
                len(device), device,
                len('1.3.1'), "1.3.1",
                len('Web'), "Web",
                27, 0, 0,
                3, 0, cid, lac,
                0, 0, 0, 0)

我想將其轉換為php,這是我到目前為止附帶的內容

$body= pack('nln2c*n13c*n5c*n3c*Ciiiniiiiii',
                    21, 0,
                    strlen($this->_mccToCountry[$this->_mcc]), $this->_mccToCountry[$this->_mcc],
                    strlen($this->_device), $this->_device,
                    strlen('1.3.1'), "1.3.1",
                    strlen('Web'), "Web",
                    27, 0, 0,
                    3, 0, $this->_cellId, $this->_lac,
                    0, 0, 0, 0);

變量與python腳本中的變量相同,但出現此錯誤

PHP警告:pack():類型n:... / application / extensions / Zend-extensions / NMS / Bts.php:150中的參數太少

幫助將不勝感激。

您的參數字符串都已擰緊。 您在某些地方表示要通過2、5、3和13次短褲,但每次只能提供一次。 您指示要提供一系列字符,但隨后提供NUL終止的字符串。 您表示將提供一個未簽名的字符,但不提供一個。 嘗試使用以下格式字符串:

'nlna*na*na*na*i3ni6'

另一種選擇是改為使用serializedeserialize serialize 不確定數據打包成字節還是序列化為字符串對您來說是否重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM