web-dev-qa-db-ja.com

PHPで文字列のバイト値を取得するにはどうすればよいですか?

次のようなテキストファイルに出力されるphpの文字列があるとします。

nÖ§9q1Fª£

ファンキーなアスキー文字ではなく、これのバイトコードをテキストファイルに取得するにはどうすればよいですか?

26
lynn

Ord関数を使用する

http://ca.php.net/ord

例えば。

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

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

文字列を整数コードの配列として取得したい場合は、ニースワンライナーがあります。

unpack('C*', $string)

結果の配列は0ではなく1からインデックス付けされることに注意してください!

19
Roman Hocke

16進数の値について話している場合は、次のようにしてください。

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

参考

4
Adee

Ord() ASCII文字セットでトリックを行います。ただし、マルチバイト文字列(UTF-8など)をいじる場合は、運が悪かったため、自分でハックする必要があります。

3
Henrik Paul