0

我已经在网上搜索了很长一段时间 - 但没有任何可用的东西通过我的方式:(

您知道使用 PHP 解码 PDU 编码的 SMS 的类/库吗?
使用官方文档手动完成所有解码让我有点害怕。
似乎有用于 Java (Android) 的库,但这无济于事。

4

3 回答 3

1

这是一个基于 JavaScript 的 GUI。将您的 pdu 消息粘贴到单击转换按钮的中间框中。

于 2011-03-23T07:40:47.787 回答
0

我基于python的 PHP 解决方案:

<?php
/**
 * Decode 7-bit packed PDU messages
 */
if ( !function_exists( 'hex2bin' ) ) {
    // pre 5.4 fallback
    function hex2bin( $str ) {
        $sbin = "";
        $len = strlen( $str );
        for ( $i = 0; $i < $len; $i += 2 ) {
            $sbin .= pack( "H*", substr( $str, $i, 2 ) );
        }

        return $sbin;
    }
}

function pdu2str($pdu) {
    // chop and store bytes
    $number = 0;
    $bitcount = 0;
    $output = '';
    while (strlen($pdu)>1) {
        $byte = ord(hex2bin(substr($pdu,0,2)));
        $pdu=substr($pdu, 2);
        $number += ($byte << $bitcount);
        $bitcount++ ;
        $output .= chr($number & 0x7F);
        $number >>= 7;
        if (7 == $bitcount) {
            // save extra char
            $output .= chr($number);
            $bitcount = $number = 0;
        }
    }
    return $output;
}

?>
于 2015-04-23T11:09:12.150 回答
-2
function DecodePDU($sString = '')
{
    $sString = pack("H*",$sString);
    $sString = mb_convert_encoding($sString,'UTF-8','UCS-2');

    return $sString;
}
于 2014-03-02T02:40:26.747 回答