Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中获取字符串的字节值?_Php_String_Ascii_Bytecode - Fatal编程技术网

如何在PHP中获取字符串的字节值?

如何在PHP中获取字符串的字节值?,php,string,ascii,bytecode,Php,String,Ascii,Bytecode,假设我在php中有一个字符串,它打印到如下文本文件: nÖ§9q1Fª 如何将其字节码而不是时髦的ascii字符输入到文本文件中?使用ord函数 例如 使用ASCII字符集执行此操作。但是,如果您处理多字节字符串(如UTF-8),您就倒霉了,需要自己动手解决。如果您正在谈论十六进制值,这应该可以: $value = unpack('H*', "Stack"); echo $value[1]; 如果您希望将字符串作为整数代码数组,有一个很好的单行程序: unpack('C*', $string

假设我在php中有一个字符串,它打印到如下文本文件:

nÖ§9q1Fª

如何将其字节码而不是时髦的ascii字符输入到文本文件中?

使用ord函数

例如


使用ASCII字符集执行此操作。但是,如果您处理多字节字符串(如UTF-8),您就倒霉了,需要自己动手解决。

如果您正在谈论十六进制值,这应该可以:

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

如果您希望将字符串作为整数代码数组,有一个很好的单行程序:

unpack('C*', $string)

注意,结果数组的索引是从1开始的,而不是从0开始的

这是一个很好的答案;比摆弄
循环和单个字符要好得多。@YzmirRamirez:要显示字节,你需要的是字节长度,而不是字符长度,所以使用
mb_strlen
实际上是一个bug。你是对的@Ped7g。我通常使用mb_u函数,并在上面看到strlen调用。但是更好的答案是下面的,它不需要for循环。
unpack('C*', $string)