0

我正在使用CBOR在我的 C 应用程序和 PHP 脚本中打包数据。对于 PHP,我已经从上面的站点下载了实现。它在 PHP 5.4.23 上运行良好,但在 PHP 5.3.3 上,包括 CBOREncoder.php 会产生错误:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/www/html1/......./CBOREncoder.php on line 15

这是 CBOREncoder.php 的开头:

<?php

/**
 * CBOR encoder/decoder
 *
 * http://tools.ietf.org/html/rfc7049
 * http://habrahabr.ru/post/208690/ thx man :)
 *
 * Class CBOREncoder
 */
class CBOREncoder
{
    const
        MAJOR_OFFSET = 5,
        HEADER_WIPE = 0b00011111, <-- this line produces error
        ADDITIONAL_WIPE = 0b11100000,

有什么问题?

4

1 回答 1

2

问题是 PHP 5.3.x 不支持二进制数。这包含在 PHP 5.4 中。

来自 php 网站: http: //php.net/manual/en/migration54.new-features.php

添加了二进制数格式,例如 0b001001101。

所以,CBOR 不支持 PHP 5.3

于 2015-03-09T14:13:09.547 回答