在 PHP 中处理二进制字节,可以使用以下方法:
pack()
和 unpack()
函数:
pack()
函数可将数据转换为二进制字符串,而 unpack()
函数则可将二进制字符串转换回原始数据。// 将整数转换为 4 字节的二进制字符串
$binary_data = pack("L", 12345);
// 将二进制字符串转换回整数
$number = unpack("L", $binary_data)[1];
ord()
和 chr()
函数:
ord()
函数可获取字符串首字母的 ASCII 值,chr()
函数可将 ASCII 值转换为对应的字符。// 获取字符 'A' 的 ASCII 值
$ascii_value = ord('A');
// 将 ASCII 值转换为对应的字符
$char = chr($ascii_value);
file_get_contents()
和 file_put_contents()
函数处理二进制文件:
当读取或写入二进制文件时,需要使用 “binary” 模式。// 读取二进制文件
$binary_data = file_get_contents("example.bin", true);
// 写入二进制文件
file_put_contents("output.bin", $binary_data, FILE_BINARY);
fread()
和 fwrite()
函数处理二进制文件:
当使用这些函数处理文件时,请确保文件已以 “binary” 模式打开(使用 fopen()
)。// 打开文件
$handle = fopen("example.bin", "rb");
// 读取二进制文件
$binary_data = fread($handle, filesize("example.bin"));
// 关闭文件
fclose($handle);
// 打开另一个文件以写入
$output_handle = fopen("output.bin", "wb");
// 写入二进制文件
fwrite($output_handle, $binary_data);
// 关闭文件
fclose($output_handle);
$byte1 = 0b10101010;
$byte2 = 0b11110000;
// 按位与
$result1 = $byte1 & $byte2; // 结果为 0b10100000
// 按位或
$result2 = $byte1 | $byte2; // 结果为 0b11111010
// 按位异或
$result3 = $byte1 ^ $byte2; // 结果为 0b01011010
通过上述方法,您可以在 PHP 中处理二进制字节。根据实际需求选择合适的方法。