elisp – 转换十进制< - >十六进制

给定一个十进制数列表,每个数字如何转换为等效的十六进制值,反之亦然?

例如:

(convert2hex 255 64 64); -> (FF 40 40)
(convert2dec FF 40 40); -> (255 64 64)

(convert2hex 255 64 64 255 64 64 128)
(convert2dec FF 40 40 FF 40 40 80)
最佳答案
数字到十六进制:

(format "%X" 255) ;; => "FF"

您还可以使用以下值零填充值:

(format "%03X" 255) ;; => "0FF"

其中0是用于填充的字符,3是要填充的空格数。

十六进制字符串到数字

(string-to-number "FF" 16) ;; => 255

16表示“读为16”。

转载注明原文:elisp – 转换十进制< - >十六进制 - 代码日志