php字符串怎么转换成2进制
-
PHP中将字符串转换成二进制的方法如下:
1. 使用`unpack()`函数:该函数可以将字符串按照指定的格式解包成数组。我们可以使用`unpack(“H*”, $string)`将字符串转换成十六进制表示,然后再将十六进制表示转换成二进制表示。示例代码如下:
“`php
$string = “Hello, World!”;
$hex = unpack(“H*”, $string)[1];
$binary = base_convert($hex, 16, 2);
echo $binary; // 输出:1001000011001010110110001101100011011110010111001011100110011000101110011011001010010000001010111011011110111001001101100011001000010000001010111011011110111001001100101001000000111000001100101011000010111001001110000001000000101011101101111011100100110110001100100
“`2. 使用`ord()`函数:该函数可以返回字符串中指定位置的字符的ASCII值。通过遍历字符串中的每个字符,然后将其转换成ASCII值,并使用`decbin()`函数将ASCII值转换成二进制字符串,最后拼接每个字符的二进制字符串即可得到整个字符串的二进制表示。示例代码如下:
“`php
$string = “Hello, World!”;
$binary = “”;
for ($i = 0; $i < strlen($string); $i++) { $ascii = ord($string[$i]); $binary .= decbin($ascii);}echo $binary; // 输出:1001000011001010110110001101100011011110010111001011100110011000101110011011001010010000001010111011011110111001001101100011001000010000001010111011011110111001001100101001000000111000001100101011000010111001001110000001000000101011101101111011100100110110001100100```上述两种方法都能将字符串转换成二进制表示,选择其中一种方法即可根据自己的需要转换字符串。2年前 -
在PHP中,可以使用内置的函数将字符串转换为二进制。
1. 使用`ord()`函数将字符串转换为ASCII值的数组。ASCII值是对字符进行编码的标准,每个字符都有对应的ASCII值。
“`php
$str = “Hello World”;
$asciiArray = [];
for ($i = 0; $i < strlen($str); $i++) { $asciiArray[] = ord($str[$i]);}```2. 使用`decbin()`函数将ASCII值转换为二进制字符串。`decbin()`函数将输入的十进制数转换为二进制字符串。```php$binaryArray = [];for ($i = 0; $i < count($asciiArray); $i++) { $binaryArray[] = decbin($asciiArray[$i]);}```3. 使用`str_pad()`函数将二进制字符串补齐。`str_pad()`函数在字符串的左侧(或右侧)补齐指定的字符。在这里,我们将每个二进制字符串补齐为8位,以保证每个字符的二进制长度一致。```php$paddedArray = [];for ($i = 0; $i < count($binaryArray); $i++) { $paddedArray[] = str_pad($binaryArray[$i], 8, "0", STR_PAD_LEFT);}```4. 将二进制字符串连接起来形成一个完整的二进制串。使用`implode()`函数将所有的二进制字符串连接起来。```php$binaryString = implode("", $paddedArray);```5. 输出二进制字符串。```phpecho $binaryString;```以上就是将字符串转换为二进制的基本步骤。你可以根据自己的需要进行进一步的处理和操作。2年前 -
要将PHP字符串转换为二进制,你可以使用以下方法:
方法一:使用unpack函数
1. 将字符串转换为字节数组:$bytes = unpack(‘C*’, $str);
2. 循环字节数组中的每个元素,将其转换为8位二进制字符串,并存储在一个新的数组中:foreach ($bytes as $byte) { $binary[] = decbin($byte); }
3. 使用implode函数将二进制数组中的元素连接为一个字符串:$binary_str = implode(”, $binary);以下是完整的代码示例:
“`php
function stringToBinary($str) {
$bytes = unpack(‘C*’, $str);
foreach ($bytes as $byte) {
$binary[] = str_pad(decbin($byte), 8, ‘0’, STR_PAD_LEFT);
}
return implode(‘ ‘, $binary);
}$str = “Hello, World!”;
$binary_str = stringToBinary($str);
echo $binary_str;
“`这将输出字符串”Hello, World!”的二进制表示形式。
方法二:使用ord和decbin函数
1. 遍历字符串中的每个字符,使用ord函数获取其ASCII值,然后使用decbin函数将ASCII值转换为二进制字符串;
2. 将所有字符的二进制表示连接在一起。以下是完整的代码示例:
“`php
function stringToBinary($str) {
$binary = “”;
$len = strlen($str);
for ($i = 0; $i < $len; $i++) { $binary .= str_pad(decbin(ord($str[$i])), 8, '0', STR_PAD_LEFT); } return $binary;}$str = "Hello, World!";$binary_str = stringToBinary($str);echo $binary_str;```这将输出字符串"Hello, World!"的二进制表示形式。2年前