Nonprinting characters in string

137 views
Skip to first unread message

DAemon

unread,
May 3, 2012, 6:49:19 AM5/3/12
to clo...@googlegroups.com
This seems like a really silly question, but if I have a string like "abc\000def", how do I print it in such a way that it shows "abc\000def"?

I've tried playing around with prn and *print-readably*, but that doesn't seem to do what I want.

Thanks!

- DAemon

David Powell

unread,
May 7, 2012, 5:38:34 AM5/7/12
to clo...@googlegroups.com

Clojure doesn't seem to explicitly escape non-printable characters in String literals when you try to print them.
You could always do it yourself with something like:

(require 'clojure.string)

(defn escape-nonprintable [s]
  (clojure.string/join
     (map (fn [c] (if (Character/isISOControl c)
                   (str "\\" (format "%03o" (int c))) c))
                   s)))
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

DAemon

unread,
May 7, 2012, 5:40:13 AM5/7/12
to clo...@googlegroups.com
Ah, thanks. It just seemed like there should be something that did this!

- D
Reply all
Reply to author
Forward
0 new messages