Posted to tcl by kbk at Thu Apr 15 10:56:39 GMT 2010view pretty

proc backslashify { string } {

     set retval {}
     foreach char [split $string {}] {
         scan $char %c ccode
         if { $ccode >= 0x0020 && $ccode < 0x007f
              && $char ne "\{" && $char ne "\}" && $char ne "\["
              && $char ne "\]" && $char ne "\\" && $char ne "\$" } {
             append retval $char
         } else {
             append retval \\u [format %04x $ccode]
         }
     }
     return $retval
}