开发者

unibyte text buffers in emacs: encode in hexa?

I have a "text" file that has some invalid byte sequences. Emacs renders these as "\340\360", is there a way to make the mighty text processor render those in hexadecimal, for instance, e.g.: "\co0a"? Thanks.

EDIT: I will not mark my own answer as开发者_如何学C accepted, but just wanted to say that it does work fine.


Found it, just in case someone needs it too... (from here)

    (setq standard-display-table (make-display-table)) 
(let ( (i ?\x80) hex hi low ) 
  (while (<= i ?\xff) 
    (setq hex (format "%x" i)) 
    (setq hi (elt hex 0)) 
    (setq low (elt hex 1)) 
    (aset standard-display-table (unibyte-char-to-multibyte i) 
          (vector (make-glyph-code ?\\ 'escape-glyph) 
                  (make-glyph-code ?x 'escape-glyph) 
                  (make-glyph-code hi 'escape-glyph) 
                  (make-glyph-code low 'escape-glyph))) 
    (setq i (+ i 1)))) 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜