php 字符串与二进制互转

1. 字符串与 16 进制互转

1.1 字符串转 16 进制

要将字符串 str 转成 16 进制,可以使用 PHP 内置函数 bin2hex()。

$str = "hello world";

$hex = bin2hex($str);

echo $hex;

输出结果:

68656c6c6f20776f726c64

1.2 16 进制转字符串

要将 16 进制 hex 转成字符串,可以使用 PHP 内置函数 hex2bin()。

$hex = "68656c6c6f20776f726c64";

$str = hex2bin($hex);

echo $str;

输出结果:

hello world

2. 字符串与二进制互转

2.1 字符串转二进制

要将字符串 str 转成二进制,可以使用 PHP 内置函数 pack()。

$str = "hello world";

$bin = pack("A*", $str);

echo $bin;

输出结果:

hello world

或者

$str = "hello world";

$bin = pack("H*", bin2hex($str));

echo $bin;

输出结果:

hello world

2.2 二进制转字符串

要将二进制 bin 转成字符串,可以使用 PHP 内置函数 unpack()。

$bin = "hello world";

$str = unpack("A*", $bin);

echo $str[1];

输出结果:

hello world

或者

$bin = "hello world";

$str = hex2bin(bin2hex($bin));

echo $str;

输出结果:

hello world

3. 字符串与 base64 编码互转

3.1 字符串编码成 base64

要将字符串 str 编码成 base64,可以使用 PHP 内置函数 base64_encode()。

$str = "hello world";

$base64 = base64_encode($str);

echo $base64;

输出结果:

aGVsbG8gd29ybGQ=

3.2 base64 解码成字符串

要将 base64 编码的字符串 base64 解码成字符串,可以使用 PHP 内置函数 base64_decode()。

$base64 = "aGVsbG8gd29ybGQ=";

$str = base64_decode($base64);

echo $str;

输出结果:

hello world

后端开发标签