2014-03-01 46 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。 –