Как я могу получить байтовые значения строки в PHP? - PullRequest
26 голосов
/ 26 февраля 2009

Скажем, у меня есть строка в php, которая распечатывается в текстовый файл следующим образом:

nÖ§9q1Fª £

Как мне получить байт-коды этого текстового файла, а не прикольные символы ascii?

Ответы [ 4 ]

26 голосов
/ 26 февраля 2009

Используйте функцию ord

http://ca.php.net/ord

например.

<?php
$var = "nÖ§9q1Fª£ˆæÓ§Œ_»—Ló]j";

for($i = 0; $i < strlen($var); $i++)
{
   echo ord($var[$i])."<br/>";
}
?>
19 голосов
/ 21 марта 2014

Если вы хотите получить строку в виде массива целочисленных кодов, есть хороший однострочный:

unpack('C*', $string)

Осторожно, результирующий массив индексируется с 1, а не с 0!

4 голосов
/ 18 апреля 2013

Если вы говорите о шестнадцатеричном значении, это должно сделать для вас:

$value = unpack('H*', "Stack");
echo $value[1];

Ссылка

3 голосов
/ 26 февраля 2009

Ord() справляется с ASCII-кодировкой. Однако если вы вмешиваетесь в многобайтовые строки (например, UTF-8), вам не повезло, и вам нужно взломать его самостоятельно.

...