PHP将Ascii转换为Octal

时间:2013-03-28 19:15:21

标签: php

我正在尝试将一串ASCII字符转换为它们的八进制等效字符,并且在我的生活中无法将其弄清楚。有人知道吗?

1 个答案:

答案 0 :(得分:3)

我只使用ordbase_convert。使用ord获取十进制的ascii值,然后base_convert使其成为八进制。

$oct = base_convert(ord($char), 10, 8);

以下是您以函数形式寻求的内容:

function string_to_octal($str)
{
    $chars = str_split($str);
    $rtn = "";

    foreach ($chars as $c) { $rtn .= str_pad(base_convert(ord($c), 10, 8), 3, 0, STR_PAD_LEFT); }

    return $rtn;
}

注意:包括str_pad,因为结果并不总是3字节的块 上述代码示例in action

编辑:@brbcoding指出,您可以使用decoct($c)代替base_convert($c, 10, 8)