我正在使用CBOR来打包我的C应用程序和PHP脚本中的数据。对于PHP,我从上面的网站下载了implementation。它适用于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,
有什么问题?
答案 0 :(得分:2)
问题是PHP 5.3.x不支持二进制数。这包含在PHP 5.4中。
来自php网站:http://php.net/manual/en/migration54.new-features.php
已添加二进制数字格式,例如0b001001101。
因此,CBOR不支持PHP 5.3