текстовые буферы unibyte в emacs: кодировать в hexa? - PullRequest
1 голос
/ 21 мая 2011

У меня есть «текстовый» файл с недопустимыми байтовыми последовательностями.Emacs отображает их как "\ 340 \ 360", есть ли способ заставить мощный текстовый процессор отображать их в шестнадцатеричном формате, например, например: "\ co0a"?Спасибо.

РЕДАКТИРОВАТЬ: Я не буду отмечать свой собственный ответ как принятый, но просто хотел сказать, что он работает нормально.

1 Ответ

1 голос
/ 21 мая 2011

Нашел, на всякий случай, если кому-то это тоже нужно ... (от здесь )

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