32:  How do I search for, delete, or replace unprintable (8-bit or control)
     characters?

  To search for a single character that appears in the buffer as, for
  example, "\237", you can type "C-s C-q 2 3 7".  (This assumes the value
  of search-quote-char is 17 (i.e., `C-q').)  Searching for ALL unprintable
  characters is best done with a regular expression ("regexp") search.  The
  easiest regexp to use for the unprintable chars is the complement of the
  regexp for the printable chars.

    Regexp for the printable chars: [\t\n\r\f -~] Regexp for the
    unprintable chars: [^\t\n\r\f -~]

  To type these special characters in an interactive argument to
  isearch-forward-regexp or re-search-forward, you need to use C-q.  (`\t',
  `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.)  So,
  to search for unprintable characters using re-search-forward:

    M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET

  Using isearch-forward-regexp:

    M-C-s [^ TAB RET C-q RET C-q C-l SPC -~]

  To delete all unprintable characters, simply use replace-regexp:

    M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET

  Replacing is similar to the above.  To replace all unprintable characters
  with a colon, use:

    M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET : RET

  NOTE: * You don't need to quote TAB with either isearch or typing
          something in the minibuffer.