Подтвердить что ты не робот

Как получить байтовые значения строки в PHP?

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

nÖ§9q1Fª £

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

4b9b3361

Ответ 1

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

http://ca.php.net/ord

например.

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

for($i = 0; $i < strlen($var); $i++)
{
   echo ord($var[$i])."<br/>";
}
?>

Ответ 2

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

unpack('C*', $string)

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

Ответ 3

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

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

Ссылка

Ответ 4

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