2013-05-26 55 views
4

我想知道是否有一種簡單的方法在PHP中顯示8位字節(或字符)。在PHP中顯示一個字節的8位

例如,對於ASCII編碼字符 '0' 應該返回0011 0000

感謝您的輸入!

+0

ORD的組合() - 用於字符 - 和decbin() –

+1

@MarkBaker decbin,dechex是十六進制數據... – bwoebi

+0

@bwoebi - 已糾正感謝 –

回答

11

這應該做的工作:

$bin = decbin(ord($char)); 
$bin = str_pad($bin, 8, 0, STR_PAD_LEFT); 
+0

這工作完全,正是我需要的。謝謝!處理某人發佈和移除的整個字符串的函數也很好。 –

+0

很高興聽到它:)如果您認爲它是:),您能否將它標記爲答案 – Farkie

+0

我不得不等待一下;) –

4

您可以使用bitwise operators for that

$a='C'; 
for ($i=0; $i<8; $i++) { 
    var_dump((ord($a) & (1<<$i))>>$i); 
} 

輸出:

int(1) 
int(1) 
int(0) 
int(0) 
int(0) 
int(0) 
int(1) 
int(0) 
+2

+1純粹是爲了提出替代decbin() –

3

還有一個解決方案,這包括4位之間的空間:

$char = 0; 
echo chunk_split(sprintf('%08b', ord($char)), 4, ' '); 
+0

非常不錯的解決方案。謝謝! –

+0

清涼優雅 –

相關問題