当前位置:网站首页>PHP 字符串与二进制相互转换
PHP 字符串与二进制相互转换
2022-07-01 09:37:00 【蹲在角落数蚂蚁】
1、相关使用函数说明
pack:把数据装入一个二进制字符串
unpack:从二进制字符串对数据进行解包
preg_split :通过一个正则表达式分隔字符串。
explode:把字符串打散为数组
join:把数组元素组合为一个字符串
2、示例
2.1 将字符串转换成二进制
/**
* 将字符串转换成二进制
* @param type $str
* @return type
*/
function StrToBin($str){
// 这边的分割正则不理解,为什么规则是这样的
$arr = preg_split('/(?<!^)(?!$)/u', $str);
//2.unpack字符
foreach($arr as &$v){
//unpack:将二进制字符串解包
//H:十六进制字符串,高位在前,与pack保持一致,也可以使用 * 来自动识别
$temp = unpack('H*', $v);
$v = base_convert($temp[1], 16, 2);
unset($temp);
}
return join(' ',$arr);
}
2.2将二进制转换成字符串
/**
* 将二进制转换成字符串
* @param type $str
* @return type
*/
function BinToStr($str){
$arr = explode(' ', $str);
foreach($arr as &$v){
//把数据装入一个二进制字符串
//strlen() 指定打包多少个 16 进制字符串
//由于指定了 H(16进制,高位在前),所以第二个参数需要使 16 进制字字符串
$v = pack("H".strlen(base_convert($v, 2, 16)), base_convert($v, 2, 16));
}
return join('', $arr);
}
2.3 测试示例
//测试
echo StrToBin("php进制测试");;
echo '<br/>';
echo BinToStr("1110000 1101000 1110000 111010001011111110011011 111001011000100010110110 111001101011010110001011 111010001010111110010101");边栏推荐
- js 使用toString 区分Object、Array
- Tree structure -- binary tree 2 non recursive traversal
- SQL学习笔记(02)——数据库表操作
- Dspic30f6014a LCD block display
- Dotnet console uses microsoft Maui. Getting started with graphics and skia
- Day06 branch structure and cycle (III)
- 炒币,亏了1000万。
- Short circuit operator lazy evaluation
- Solution of EPS image blur by latex insertion
- 富文本实现插值
猜你喜欢

吃一个女富豪的瓜。。。

年薪100万,在北上广深买的起房子吗?

2.2 【pytorch】torchvision. transforms

Precautions for lvgl v8.2 string display on keil MDK (take little bear pie as an example)

HMS Core音频编辑服务3D音频技术,助力打造沉浸式听觉盛宴

2022.02.15_ Daily question leetcode six hundred and ninety
![[untitled]](/img/1a/e18918cc09db9b072759409a5f39a1.png)
[untitled]

How to realize the usage of connecting multiple databases in idel

MapReduce编程基础

遇到女司机业余开滴滴,日入500!
随机推荐
年薪100万,在北上广深买的起房子吗?
What is P in cap theory
Flinkv1.13 implementation of financial anti fraud cases
队列的实现和应用
华为帐号多端协同,打造美好互联生活
[ESP nanny level tutorial] crazy completion chapter - Case: chemical environment system detection based on Alibaba cloud and Arduino, supporting nail robot alarm
2.3 [kaggle dataset - dog feed example] data preprocessing, rewriting dataset, dataloader reading data
Differences between JS valueof and toString
Analysis and solution of JS this loss
JS variable lifting
Record a redis timeout
[pytorch] softmax function
Latex插入的eps图片模糊解决方法
Click the screen with your finger to simulate F11 and enter the full screen
Short circuit operator lazy evaluation
樹結構---二叉樹2非遞歸遍曆
[unity shader] substitution of bool type in the property definition
计网01-物理层
[ESP nanny level tutorial] crazy completion chapter - Case: temperature and humidity monitoring system based on Alibaba cloud, applet and Arduino
A 419 error occurred in the laravel postman submission form. July 6th, 2020 diary.