Base64 encode data: Difference between revisions

Content added Content deleted
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
(My solution in Common Lisp)
Line 482: Line 482:
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
</pre>

=={{header|Common Lisp}}==

<lang lisp>
(eval-when (:load-toplevel :compile-toplevel :execute)
(ql:quickload "drakma")
(ql:quickload "cl-base64"))

;; * The package definition
(defpackage :base64-encode
(:use :common-lisp :drakma :cl-base64))
(in-package :base64-encode)

;; * The function
(defun base64-encode (&optional (uri "https://rosettacode.org/favicon.ico"))
"Returns the BASE64 encoded string of the file at URI."
(let* ((input (http-request uri :want-stream t))
(output (loop
with array = (make-array 0 :element-type 'unsigned-byte
:adjustable t :fill-pointer 0)
for data-chunk = (read-byte input nil nil)
while data-chunk
do (vector-push-extend data-chunk array)
finally (return (usb8-array-to-base64-string array)))))
(close input)
output))
</lang>
{{out}}
<pre>"AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///...</pre>


=={{header|D}}==
=={{header|D}}==