diff --git a/site-lisp/octal-to-hex.el b/site-lisp/octal-to-hex.el index d433b43..562a03c 100644 --- a/site-lisp/octal-to-hex.el +++ b/site-lisp/octal-to-hex.el @@ -11,3 +11,29 @@ (cl-map 'vector (lambda (c) (make-glyph-code c 'escape-glyph)) (format "\\%02x" x))))) + + +(defun use-octal-not-hex () + "Use cctadecimal escape sequences instead of hex." + (interactive) + (require 'cl-lib) + (unless buffer-display-table + (setq buffer-display-table (make-display-table))) + (setq unprintable (append (number-sequence 127 255) (number-sequence 0 8) (number-sequence 11 31))) + (cl-loop + for x in unprintable + do (aset buffer-display-table (unibyte-char-to-multibyte x) + (cl-map 'vector + (lambda (c) (make-glyph-code c 'escape-glyph)) + (format "\\%0do" x))))) + +;; Hex string to dezimal +(string-to-number "FF" 16) ;; => 255 + +;; Hex string to dezimal +(string-to-number "377" 8) ;; => 255 + +;; Dezimal string to hex +(format "%X" 255) ;; => "FF" + +(string-to-number "e001" 16)