aboutsummaryrefslogtreecommitdiff
path: root/module/util
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-06-28 23:27:47 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-06-29 01:08:54 +0200
commit88aab05e8de72ac07dc7639f9254cf8e727176ae (patch)
tree14b7599d61c31f4b7f3c629e931f52c82dc10875 /module/util
parentAdd parse-iso-datetime. (diff)
downloadcalp-88aab05e8de72ac07dc7639f9254cf8e727176ae.tar.gz
calp-88aab05e8de72ac07dc7639f9254cf8e727176ae.tar.xz
Add base64 utility functions.
Diffstat (limited to 'module/util')
-rw-r--r--module/util/base64.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/module/util/base64.scm b/module/util/base64.scm
index 2a49ba1e..148055c9 100644
--- a/module/util/base64.scm
+++ b/module/util/base64.scm
@@ -132,11 +132,23 @@
ret))
+;; string -> bv
+(define-public (base64-string->bytevector string)
+ (base64->bytevector
+ (string->bytevector string (make-transcoder (latin-1-codec)))))
+
+;; bv -> string
+(define-public (bytevector->base64-string bv)
+ (bytevector->string (bytevector->base64 bv)
+ (make-transcoder (latin-1-codec))))
+
+;; string -> string
(define*-public (base64encode string optional: (transcoder (native-transcoder)))
(bytevector->string
(bytevector->base64 (string->bytevector string transcoder))
(make-transcoder (latin-1-codec))))
+;; string -> string
(define*-public (base64decode string optional: (transcoder (native-transcoder)))
(bytevector->string
(base64->bytevector