用法
评论
建议
取 消
确 定
(defun base64:encode-from-file (file / fp b) "将文件 file 转为 base64 编码。文件过大会转换失败。" "String" "" (princ "CAN NOT read long file.\n") (if (and (findfile file) (setq fp (open file "r"))) (progn (setq lst-base64 (vl-string->list "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")) (setq i 0) (setq res (quote nil)) (setq rem% 0) (while (setq b (read-char fp)) (cond ((= i 0) (setq res (cons (/ b 4) res)) (setq rem% (logand b 3)) (setq i 1)) ((= i 1) (setq res (cons (+ (lsh rem% 4) (/ b 16)) res)) (setq rem% (logand b 15)) (setq i 2)) ((= i 2) (setq res (cons (+ (lsh rem% 2) (/ b 64)) res)) (setq res (cons (logand b 63) res)) (setq rem% 0) (setq i 0)))) (close fp) (cond ((= i 1) (setq res (cons (lsh rem% 4) res))) ((= i 2) (setq res (cons (lsh rem% 2) res)))) (setq res (mapcar (quote (lambda (x) (nth x lst-base64))) res)) (if (/= i 0) (repeat (- 3 i) (setq res (cons (ascii "=") res)))) (reverse res))))
函数库使用说明
应用包
技术支持
统计信息
函数库规模: 747 个
函数库类别: 52 种
上传记录
刷新