public static function rot47($str)
    {
        $result = '';
        foreach (str_split($str) as $char) {
            $ord = ord($char);
            $result .= (namespace\Utils::numberBetween($ord, 33, 126))
                ? chr(namespace\Utils::numberWrap($ord + 47, 33, 126))
                : $char;
        }
        return $result;
    }