2011-11-02 60 views
0

curl_version()返回(除其他之外)24位版本号以及版本字符串。 24位版本号463623对应于字符串版本7.19.7将curl_version()转换为版本字符串的24位版本号

是否有一个简单的算法将24位版本转换为字符串?

+3

libcurl文档提到“version_num”是一个24位的数字,它是这样创建的:<8位major number> | <8位次要号码> | <8位补丁编号>。版本7.9.8因此返回为0x070908“ - 反向转换应该只是几个位掩码和转换 – millimoose

回答

1

您的意思是此版本号?

$v = curl_version(); 
echo $v['version']; # e.g. 7.15.5 

这很容易破译:

$v = curl_version(); 
$n = $v['version_number']; 
printf("%06x", $n); # e.g. 070f05 

版本号是十六进制小数,3个值,挑选各一个,转换为十进制:

07: 7 
    0f: 15 
    05: 5 

参见:http://curl.haxx.se/docs/versions.html

+0

他指出它已经返回,我认为他想要一个算法,但是 –

+0

@ gms8994:这同样微不足道。 – hakre

1

本着这样的精神:

printf("%d.%d.%d", $version >> 16, ($version >>8)&0xff, $version & 0xff);