Home >Backend Development >PHP Problem >How to convert int to byte in php
php method to implement int to byte conversion: 1. Create a PHP sample file; 2. Define the "public static function integerToBytes($val) {...}" method; 3. Implement through mask operation Just convert int into BYTE array.
The operating environment of this tutorial: Windows 10 system, PHP version 8.1, DELL G3 computer
php How to convert int to byte ?
PHP implements the conversion of INT type, SHORT type, and STRING into BYTE array
Implements PHP to implement the conversion of INT type, SHORT type, and STRING into BYTE array:
class Bytes { public static function integerToBytes($val) { $val = (int)$val; $byte = array(); //低位在前,即小端法表示 $byte[0] = ($val & 0xFF);//掩码运算 $byte[1] = ($val >> 8 & 0xFF); $byte[2] = ($val >> 16 & 0xFF); $byte[3] = ($val >> 24 & 0xff); return $byte; } public static function bytesToInteger(array $bytes, $pos) { $val = 0; $val = $bytes[$pos + 3] & 0xff; $val <<= 8; $val |= $bytes[$pos + 2] & 0xff; $val <<= 8; $val |= $bytes[$pos + 1] & 0xff; $val <<= 8; $val |= $bytes[$pos + 0] & 0xff; return intval($val); } public static function shortToBytes($val) { $val = intval($val); $byt = array(); $byt[0] = ($val & 0xff); $byt[1] = ($val >> 8 & 0xff); return $byt; } public static function bytesToShort($bytes) { $val = 0; $val = $bytes[1] & 0xff; $val <<= 8; $val |= $bytes[0] & 0xff; return $val; } public static function String2AsciiArray($str) { $str = (string) $str; $strLength = strlen($str); $rtn = array(); for($i = 0; $i < $strLength; $i++) { $rtn[]= ord($str[$i]); } return $rtn; } }
Related introduction: A mask is a string of binary codes that performs a bitwise AND operation on the target field to mask the current input bit.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to convert int to byte in php. For more information, please follow other related articles on the PHP Chinese website!