数字格式 - Emacs 中的单字节文本缓冲区:以六进制编码



我有一个"文本"文件,其中包含一些无效的字节序列。Emacs 将这些渲染为 "\340\360",有没有办法让强大的文本处理器以十六进制呈现这些,例如:"\co0a"?谢谢。

编辑:我不会将自己的答案标记为已接受,但只是想说它确实工作正常。

找到了,以防万一有人也需要它......(从这里开始)

    (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)))) 

最新更新