如何在PHP中获取字符串的字节值?
假设我在php中有一个字符串,它打印到如下文本文件: nÖ§9q1Fª 如何将其字节码而不是时髦的ascii字符输入到文本文件中?使用ord函数 例如如何在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
使用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)