2014-03-01 49 views
1

我有一個字符,$x[0]。現在,我想從0-255獲得一個無符號的字符。這個怎麼做? 另外,如果我有4個字符,$x[0], $x[1], $x[2], $x[3]我想從這些字符中的0-2^32-1獲得一個無符號整數。PHP獲取char的值?

我希望我有道理。作爲一名C程序員,我不確定這些東西在PHP中是否可行。

+0

目前還不清楚你在問什麼。你可以編輯更多的細節問題和你迄今爲止的嘗試嗎? –

+0

例如,如果角色是'A',你會想要65? – scrblnrd3

回答

3

可以使用ord單個字節和unpack爲一個或多個字節:

$byte = ord('A'); 
$dword = (ord('A') << 24) | (ord('B') << 16) | (ord('C') << 8) | ord('D'); 

$byte = current(unpack('c', 'A')); 
$dword = current(unpack('N', 'ABCD')); 
+0

謝謝。你是否推薦使用PHP來做這些事情,否則可能會出現問題? –

+0

@ We'reAllMadHere不,它應該按照預期工作。只要記住一個字符的代碼點和它被編碼的字節序列不需要是相同的並且取決於字符編碼。 – Gumbo

2

如果你需要一個字符的ASCII值,那麼你可以使用ord()

觀看演示here

+0

謝謝,但我不僅需要0-127的值。我需要從0-255。 –