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

  1. proc backslashify { string } {
  2.  
  3. set retval {}
  4. foreach char [split $string {}] {
  5. scan $char %c ccode
  6. if { $ccode >= 0x0020 && $ccode < 0x007f
  7. && $char ne "\{" && $char ne "\}" && $char ne "\["
  8. && $char ne "\]" && $char ne "\\" && $char ne "\$" } {
  9. append retval $char
  10. } else {
  11. append retval \\u [format %04x $ccode]
  12. }
  13. }
  14. return $retval
  15. }