草庐IT

八进制

全部标签

php - 为什么 symfony 请求 header 设置为二进制值,目的是什么?

constHEADER_FORWARDED=0b00001;//WhenusingRFC7239constHEADER_X_FORWARDED_FOR=0b00010;constHEADER_X_FORWARDED_HOST=0b00100;constHEADER_X_FORWARDED_PROTO=0b01000;constHEADER_X_FORWARDED_PORT=0b10000;constHEADER_X_FORWARDED_ALL=0b11110;//All"X-Forwarded-*"headersconstHEADER_X_FORWARDED_AWS_ELB=0b110

PHP 十六进制和二进制

我有以下格式的字符串:“0A1344010400010005”(十六进制表示)我需要将此字符串转换为字节数组(0x0a、0x13、0x44等),以便这些数据可用于以下函数:$data=$this->data;for($i=0;$ivalue=($this->value>>8)^$this->arr[($this->value^$data[$i])&0xff];}$this->value值为0xFFFF。$this->arr是一个包含元素的数组:array(0x0000,0x1189,0x2312,0x329b,0x4624,0x57ad,0x6536,0x74bf)。我做了以下事情。基

php - 如何在 PHP 中将十六进制值转换为有符号整数?

我正在尝试将十六进制字符串转换为有符号整数。我可以使用hexdec()轻松地将其转换为无符号值,但这不会给出带符号的值。编辑:VB中的代码-两个“AA”十六进制值具有代表性。Dimbs(2)AsBytebs(1)="AA"bs(2)="AA"DimsAsShorts=BitConverter.ToInt16(bs,1) 最佳答案 看看这个comment通过php.net:hexdec()returnsunsignedintegers.Forexamplehexdec("FFFFFFFE")returns4294967294,not-

php - 如何使用 PHP 将 base64 编码的二进制数据保存为 zip

我正在从API请求响应中获取base64二进制编码数据。我需要将其保存为zip文件。我使用如下代码。但我得到了一个SFXzip存档作为可下载选项。我无法使用PHP解压缩。我可以解压其他普通的zip文件,但不能解压这个SFXzip。任何人都可以帮助我将编码数据保存为zip或告诉我如何解压缩SFXzip存档。 最佳答案 您需要为zip存档创建一个临时文件,然后使用ZipArchive()将您的字符串作为文件添加到存档中。试试下面的例子。open($file,ZipArchive::OVERWRITE);//Addcontents$zip

php - 在 PHP 中将二进制字节数组转换为图像

我有一个Java网络服务,它以byte[](字节数组)形式返回请求的文件内容。有时这些文件是HTML文件,有时是图像。它是哪种文件类型没有限制。我正在寻找一种将此数组转换为有效图像/字符串的方法。我对文本文件的工作如下:$bytes=getArray();$string=implode(array_map("chr",$bytes));echo$string;这是echo$string;的输出‰PNGIHDR‘h6pHYsÄÄ•+OiCCPPhotoshopICCprofilexÚSgTSé=÷ÞôBKˆ€”KoRRB‹€‘&*!Jˆ!¡ÙQÁEEÈˆŽŽ€ŒQ,ŠØä!¢Žƒ£ˆŠÊ

php - 如何将字节数组转换为十六进制字符串?

我有一个解决方案,但是这个解决方案很慢。示例:$arr=array(14,0,1,0,0,0,0,0,0,224,0,255,255,255,255,255);$hex_str="";foreach($arras$byte){$hex_str.=sprintf("%02X",$byte);}结果是:0E0001000000000000E000FFFFFFFFFF格式为:255=>FF0=>001=>0114=>0E如果您知道更快的解决方案,请分享。 最佳答案 您可以先将每个整数转换为一个字符。$chars=array_map("ch

php - 使用二进制搜索 PHP 查找数组中最后一次出现的元素的索引

给定的数组有重复的元素,所以基本上,我想找到我搜索过的元素最后一次出现的index。$arr=array(2,3,4,4,5,6,4,8);$x=4;//numbertosearch$low=0;$high=count($arr)-1;//Iwantthisfunctiontoreturn6whichistheindexofthelastoccurrenceof4,butinsteadI'mgetting-1.functionbinary_search_last_occ($arr,$x,$low,$high){while($low$x){$high=$mid-1;}else$low=$

带有二进制协议(protocol)的 PHP Memcached—— `increment()` 之后返回的垃圾数据

我已经开始使用increment()PHPMemcached客户端的方法,并切换到二进制协议(protocol)。显然,increment()isonlysupportedonthebinaryprotocol.有时,我看到从增加的键返回垃圾结果。例如:$memcached=new\Memcached();$memcached->setOption(\Memcached::OPT_BINARY_PROTOCOL,TRUE);…$this->cache->increment($key,1,1);…$this->cache->get($key);输出:"1\u0000ants101\r\n

php - 如何在 PHP 中将 UTF-16 十六进制字符串转换为 UTF-8?

我有来自strace的以下输出,我想使用PHP将其转换为UTF-8:R\00f6dhakev\00e4gen4R\00e4ntm\00e4starv\00e4gen24K\00d8BENHAVN我认为上面的字符串是UTF16HEX。 最佳答案 发现下面的函数起作用了:functionutf8_urldecode($str){$str=str_replace("\\00","%u00",$str);$str=preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));r

十六进制的 PHP SSL 证书序列号

我需要显示有关序列号的SSL证书信息。当我使用$cert=file_get_contents('mycert.crt');$data=openssl_x509_parse($cert,true);$data['serialNumber']我喜欢-5573199485241205751但是当我运行命令时opensslx509-in'mycert.crt'-noout-serial我收到序列号=B2A80498A3CEDC09可以用PHP接收吗?谢谢。 最佳答案 您可能正在接收字节数组形式的序列号。将这些字节转换为十六进制,您应该使用o