首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 實現字符串與二進制互轉的高效方法

     編輯:PHP 綜合知識

在數據傳輸、加密存儲或底層協議開發中,經常需要將字符串與二進制數據相互轉換。本文提供兩個高性能的 PHP 函數,支援 UTF-8 多字節字符,適合中文等多語言場景。

核心實現代碼

<?php 
header("Content-type: text/html; charset=utf-8"); 

/** 
 * 字符串轉二進制 
 * @param string $str 輸入字符串 
 * @return string 空格分隔的二進制串 
 */ 
function StrToBin($str) { 
    // 1. 將字符串拆分為單字符數組(支援 UTF-8) 
    $arr = preg_split('/(?

原理解析

  1. StrToBin:利用 preg_split('/(? 正確切分 UTF-8 字符,再經 unpack('H*') 取十六進制,最後 base_convert(..., 16, 2) 得到二進制。
  2. BinToStr:反向操作,base_convert(..., 2, 16) 轉十六進制,pack("H*") 還原字節序列。
  3. 空格分隔:每字符二進制之間用空格隔開,便於存儲、傳輸與調試。

應用場景

  • 數據庫存儲二進制編碼的敏感字段
  • 網絡協議開發中構造/解析二進制包體
  • 加密算法輸出的二進制數據可視化展示
  • 跨語言系統間的數據交換(如與 C/C++、Java 交互)

這組函數輕量、無依賴,直接放入工具類即可復用,解決 PHP 原生缺乏直觀二進制轉換函數的痛點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved