If you still want here is the modified code, you can use /ascii <text> or /normal <text>. Still works as identifier as well.

Code:
ascii {
  var %c = 1
  var %ret
  while (%c <= $len($1-)) {
    /* use $mid($1-,%c,1) gets char from position stored in %c
    *  use $asc() to convert character to ascii
    *  use $base to convert to base 16, and 0 pad line
    *    this allows spaces to be removed
    */
    var %ret = %ret $+ $base($asc($mid($1-,%c,1)),10,16,2)
    inc %c
  }
  if ($isid) { return %ret }
  elseif ($chan) { msg $chan %ret }
}

normal {
  var %c = 1
  var %ret
  while (%c <= $len($1-)) {
    var %chr = $mid($1-,%c,2)
    /* to handle spaces correctly, convert them to a unique sequence <space>
    *  change < to <lt> and > to <gt>, just in case "<space>" is in the text
    */
    if (%chr == 20) {
      var %ret = %ret $+ <space>
    }
    elseif (%chr == 3C) {
      var %ret = %ret $+ <lt>
    }
    elseif (%chr == 3e) {
      var %ret = %ret $+ <gt>
    }
    else {
      var %ret = %ret $+ $chr($base(%chr,16,10))
    }
    inc %c 2
  }
  ;use $replace to get $chr(32), $chr(60), and, $chr(62) back

  if ($isid) { return $replace(%ret,<space>,$chr(32),<lt>,<,<gt>,>) }
  elseif ($chan) { msg $chan $replace(%ret,<space>,$chr(32),<lt>,<,<gt>,>) }
}