php - 如何使用 PHP 将整数转换为 8 位二进制数据?

标签 php binary

我需要将整数转换为8bit,但是pack只能转换为16bit的二进制数据。 我在谷歌中搜索,但找不到任何东西。 有人可以帮忙吗?

最佳答案

echo $test = pack('C', 1);

根据格式将给定的参数打包成二进制字符串。

此函数的思想来自 Perl,所有格式化代码的工作方式与 Perl 相同。但是,缺少一些格式代码,例如 Perl 的“u”格式代码。

请注意,有符号和无符号值之间的区别仅影响函数 unpack(),而函数 pack() 对有符号和无符号格式代码给出相同的结果

代码是

a   NUL-padded string
A   SPACE-padded string
h   Hex string, low nibble first
H   Hex string, high nibble first
c   signed char
C   unsigned char
s   signed short (always 16 bit, machine byte order)
S   unsigned short (always 16 bit, machine byte order)
n   unsigned short (always 16 bit, big endian byte order)
v   unsigned short (always 16 bit, little endian byte order)
i   signed integer (machine dependent size and byte order)
I   unsigned integer (machine dependent size and byte order)
l   signed long (always 32 bit, machine byte order)
L   unsigned long (always 32 bit, machine byte order)
N   unsigned long (always 32 bit, big endian byte order)
V   unsigned long (always 32 bit, little endian byte order)
f   float (machine dependent size and representation)
d   double (machine dependent size and representation)
x   NUL byte
X   Back up one byte
@   NUL-fill to absolute position

关于php - 如何使用 PHP 将整数转换为 8 位二进制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453061/

相关文章:

javascript - 如果未选中复选框,如何提交 0,如果在 HTML 中选中复选框,如何提交 1

php - 从字符串中提取数据

PHP HTML 表单编码+签名?

php - php 的 session 重定向返回 undefined variable 并调用成员函数错误

php - 我的搜索结果不一致?为什么是这样?

Java循环和移位

linux - ELF程序头虚拟地址和文件偏移量

c - 如何精确地将 float 转换为二进制

c++ - 反转十六进制字符串的第 7 位 C++

macos - 核心注册机问题