Base64 decode data: Difference between revisions

m
syntax highlighting fixup automation
m (syntax highlighting fixup automation)
Line 8:
 
=={{header|Action!}}==
<langsyntaxhighlight lang=Action!>BYTE FUNC FindIndex(BYTE b)
IF b>='A AND b<='Z THEN
RETURN (b-'A)
Line 81:
PROC Main()
Test("VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo")
RETURN</langsyntaxhighlight>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Base64_decode_data.png Screenshot from Atari 8-bit computer]
Line 95:
=={{header|Ada}}==
{{libheader|AWS}}
<langsyntaxhighlight lang=Ada>with Ada.Text_IO;
 
with AWS.Translator;
Line 108:
Ada.Text_IO.New_Line;
Ada.Text_IO.Put_Line (Result);
end Decode_AWS;</langsyntaxhighlight>
 
{{out}}
Line 118:
=={{header|Arturo}}==
 
<langsyntaxhighlight lang=rebol>text: "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g="
 
print decode text</langsyntaxhighlight>
 
{{out}}
Line 129:
=={{header|BaCon}}==
Using the result from the [[Base64 encode data]] task as requested, but the result is abbreviated in the code below.
<langsyntaxhighlight lang=bacon>data$ = "AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAE.......QAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE="
ico$ = B64DEC$(data$)
BSAVE ico$ TO "favicon.ico" SIZE LEN(ico$)</langsyntaxhighlight>
 
=={{header|Bash}}==
{{trans|Bash}}
<langsyntaxhighlight lang=bash>#! /bin/bash
declare -a encodeTable=(
# + , - . / 0 1 2 3 4 5 6 7 8 9 :
Line 189:
fi
done
done</langsyntaxhighlight>
 
=={{header|C}}==
{{trans|C++}}
<langsyntaxhighlight lang=c>#include <stdio.h>
#include <stdlib.h>
 
Line 271:
 
return 0;
}</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo
Line 280:
=={{header|C sharp|C#}}==
{{trans|Visual Basic .NET}}
<langsyntaxhighlight lang=csharp>using System;
using System.Text;
 
Line 294:
}
}
}</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
Line 303:
=={{header|C++}}==
{{Works with|C++14}}
<langsyntaxhighlight lang=cpp>#include <algorithm>
#include <iostream>
#include <string>
Line 419:
 
return 0;
}</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo
Line 435:
=={{header|Clojure}}==
 
<langsyntaxhighlight lang=clojure>(defn decode [str]
(String. (.decode (java.util.Base64/getDecoder) str)))
 
(decode "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=")
</syntaxhighlight>
</lang>
 
{{out}}
Line 449:
Similar to the [http://rosettacode.org/wiki/Base64_encode_data#Common_Lisp BASE64 encoding task] I am using the [http://quickdocs.org/cl-base64/ cl-base64] library.
 
<langsyntaxhighlight lang=lisp>(eval-when (:load-toplevel :compile-toplevel :execute)
(ql:quickload "cl-base64"))
 
Line 471:
(len (length array)))
(write-sequence array stream)
(format t "Wrote ~D bytes in file ~A~%" len file))))</langsyntaxhighlight>
{{out}}
 
Line 477:
 
=={{header|Crystal}}==
<langsyntaxhighlight lang=ruby>require "base64"
 
encoded_string = "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g="
 
decoded_string = Base64.decode_string(encoded_string)
puts decoded_string</langsyntaxhighlight>
 
{{out}}
Line 491:
=={{header|D}}==
{{trans|Raku}}
<langsyntaxhighlight lang=d>import std.base64;
import std.stdio;
 
Line 501:
auto decoded = cast(char[])Base64.decode(data);
writeln(decoded);
}</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
Line 509:
 
=={{header|Dart}}==
<langsyntaxhighlight lang=dart>import 'dart:convert';
 
void main() {
Line 515:
var decoded = utf8.decode(base64.decode(encoded));
print(decoded);
}</langsyntaxhighlight>
 
{{out}}
Line 524:
 
=={{header|Delphi}}==
<langsyntaxhighlight lang=delphi>program Base64Decoder;
 
{$APPTYPE CONSOLE}
Line 539:
 
end.
</syntaxhighlight>
</lang>
{{out}}
<pre>Source string:
Line 549:
=={{header|F_Sharp|F#}}==
===Standard Library===
<langsyntaxhighlight lang=fsharp>
open System
open System.IO
Line 558:
 
File.WriteAllBytes("favicon.ico", decoded)
</syntaxhighlight>
</lang>
{{out}}
[https://rosettacode.org/favicon.ico Rosetta Code Icon]
 
===Manual Implementation===
<langsyntaxhighlight lang=fsharp>
open System
open System.IO
Line 590:
 
File.WriteAllBytes("favicon.ico", decoded)
</syntaxhighlight>
</lang>
{{out}}
[https://rosettacode.org/favicon.ico Rosetta Code Icon]
 
=={{header|Factor}}==
<langsyntaxhighlight lang=factor>USING: base64 io strings ;
 
"VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo"
base64> >string print</langsyntaxhighlight>
{{out}}
<pre>
Line 613:
Inspired from Wikipedia. Use of a buffer.
May be also of interest : github.com/lietho/base64-forth
<langsyntaxhighlight lang=forth>variable bitsbuff
 
: char>6bits ( c -- u )
Line 647:
rot - ( addr2 n2 )
;
</syntaxhighlight>
</lang>
 
{{out}}
Line 670:
 
=={{header|FreeBASIC}}==
<langsyntaxhighlight lang=freebasic>Dim Shared As String B64
B64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _
"abcdefghijklmnopqrstuvwxyz" & _
Line 702:
Print msg64
Print: Print(Decode64(msg64))
Sleep</langsyntaxhighlight>
{{out}}
<pre>
Line 714:
=={{header|Go}}==
As images can no longer be uploaded to RC, I've encoded and decoded a string rather than the Rosetta Code icon.
<langsyntaxhighlight lang=go>package main
 
import (
Line 732:
}
fmt.Println("\nDecoded :", string(decoded))
}</langsyntaxhighlight>
 
{{out}}
Line 745:
=={{header|Groovy}}==
{{trans|Java}}
<langsyntaxhighlight lang=groovy>import java.nio.charset.StandardCharsets
 
class Decode {
Line 755:
System.out.println(decodedStr)
}
}</langsyntaxhighlight>
{{out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 762:
=={{header|Haskell}}==
Simple implementation that decodes an ASCII string.
<langsyntaxhighlight lang=haskell>--Decodes Base64 to ASCII
import qualified Data.Map.Strict as Map (Map, lookup, fromList)
import Data.Maybe (fromJust, listToMaybe, mapMaybe)
Line 801:
putStrLn $
byteToASCII
"VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCi0tIFBhdWwgUi4gRWhybGljaA=="</langsyntaxhighlight>
{{Out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 810:
or in terms of Data.ByteString.Base64:
 
<langsyntaxhighlight lang=haskell>{-# LANGUAGE OverloadedStrings #-}
 
import qualified Data.ByteString.Base64 as Base64 (decode, encode)
Line 823:
either print B.putStrLn $
Base64.decode
"VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCi0tIFBhdWwgUi4gRWhybGljaA=="</langsyntaxhighlight>
{{Out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCi0tIFBhdWwgUi4gRWhybGljaA==
Line 833:
 
=={{header|Haxe}}==
<langsyntaxhighlight lang=haxe>class Main {
static function main() {
var data = "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVw" +
Line 841:
Sys.println(decoded);
}
}</langsyntaxhighlight>
 
{{out}}
Line 850:
using J's [https://github.com/jsoftware/convert_misc/blob/master/base64.ijs convert/misc/base64] script:
 
<langsyntaxhighlight lang=J> require'convert/misc/base64'
frombase64 'VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g='
To err is human, but to really foul things up you need a computer.
-- Paul R. Ehrlich</langsyntaxhighlight>
 
Alternative implementation based on that script:
 
<syntaxhighlight lang=J>
<lang J>
BASE64=: (a.{~ ,(a.i.'Aa') +/i.26),'0123456789+/'
 
Line 864:
pad }. a. {~ #. _8 [\ , (6#2) #: BASE64 i. y
}}
</syntaxhighlight>
</lang>
 
=={{header|Java}}==
{{trans|Kotlin}}
<langsyntaxhighlight lang=java>import java.nio.charset.StandardCharsets;
import java.util.Base64;
 
Line 879:
System.out.println(decodedStr);
}
}</langsyntaxhighlight>
{{out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 886:
=={{header|JavaScript}}==
=== Browser ===
<langsyntaxhighlight lang=javascript>// define base64 data; in this case the data is the string: "Hello, world!"
const base64 = 'SGVsbG8sIHdvcmxkIQ==';
// atob is a built-in function.
console.log(atob(base64));</langsyntaxhighlight>
=== Node.js ===
<langsyntaxhighlight lang=javascript>// define base64 data; in this case the data is the string: "Hello, world!"
const base64 = Buffer.from('SGVsbG8sIHdvcmxkIQ==', 'base64');
// <Buffer>.toString() is a built-in method.
console.log(base64.toString());</langsyntaxhighlight>
{{out}}
<pre>Hello, world!</pre>
Line 907:
See [[Base64_encode_data#Jsish]] for ''base64.jsi''.
 
<langsyntaxhighlight lang=javascript>/* Base64 decode, in Jsish */
var data = exec('jsish base64.jsi', {retAll:true}).data; // or use File.read('stdin');
var icon = Util.base64(data, true);
File.write('rosetta-favicon.ico', icon);</langsyntaxhighlight>
 
=={{header|Julia}}==
Using an IOBuffer here, though not really needed to decode a string, shows how we could pipe a network stream or file though Julia's builtin Base64 decoder.
<langsyntaxhighlight lang=julia>using Base64
 
io = IOBuffer()
Line 925:
 
println(String(read(iob64_decode)))
</langsyntaxhighlight>{{out}}
<pre>
To err is human, but to really foul things up you need a computer.
Line 933:
=={{header|Kotlin}}==
{{trans|D}}
<langsyntaxhighlight lang=scala>import java.util.Base64
 
fun main() {
Line 942:
val decodedStr = String(decoded, Charsets.UTF_8)
println(decodedStr)
}</langsyntaxhighlight>
{{out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 948:
 
=={{header|Lua}}==
<langsyntaxhighlight lang=lua>-- Start taken from https://stackoverflow.com/a/35303321
local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -- You will need this for encoding/decoding
 
Line 973:
 
local decoded = dec(data)
print(decoded)</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo
Line 981:
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<langsyntaxhighlight lang=Mathematica>ImportString[
"VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo",
"Base64"
]</langsyntaxhighlight>
{{out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 990:
 
=={{header|Nim}}==
<langsyntaxhighlight lang=Nim>import base64
 
const Source = "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g="
 
echo Source.decode()</langsyntaxhighlight>
 
{{out}}
Line 1,009:
 
=={{header|Ol}}==
<langsyntaxhighlight lang=scheme>
(define base64-codes "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
(define kernel (alist->ff (map cons (string->bytes base64-codes) (iota (string-length base64-codes)))))
Line 1,046:
 
(decode "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=")
</syntaxhighlight>
</lang>
{{Out}}
<pre>
Line 1,059:
=={{header|Perl}}==
The MIME::Base64 module is to be preferred, but this works too.
<langsyntaxhighlight lang=perl>sub decode_base64 {
my($d) = @_;
$d =~ tr!A-Za-z0-9+/!!cd;
Line 1,078:
EOD
 
print decode_base64($data) . "\n";</langsyntaxhighlight>
{{out}}
<pre>'Twas brillig, and the slithy toves
Line 1,086:
 
=={{header|Phix}}==
<!--<langsyntaxhighlight lang=Phix>(phixonline)-->
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
<span style="color: #008080;">include</span> <span style="color: #000000;">builtins</span><span style="color: #0000FF;">\</span><span style="color: #000000;">base64</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
Line 1,093:
<span style="color: #0000FF;">?</span><span style="color: #000000;">e</span>
<span style="color: #0000FF;">?</span><span style="color: #7060A8;">decode_base64</span><span style="color: #0000FF;">(</span><span style="color: #000000;">e</span><span style="color: #0000FF;">)</span>
<!--</langsyntaxhighlight>-->
{{out}}
<pre>
Line 1,101:
 
=={{header|PHP}}==
<langsyntaxhighlight lang=PHP>$encoded = 'VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVw' .
'IHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=';
echo
$encoded, PHP_EOL,
base64_decode($encoded), PHP_EOL;</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
Line 1,112:
 
=={{header|PicoLisp}}==
<langsyntaxhighlight lang=PicoLisp>(setq *Char64
`'(chop
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ) )
Line 1,135:
(link
(char (| (>> -6 (& C 3)) D)) ) ) ) ) ) ) ) )
(prinl (decode64 "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo"))</langsyntaxhighlight>
{{out}}
<pre>
Line 1,145:
By necessity this also implements all of the Base64 encode task to
avoid a humongous amount of icon data hardcoded in the program.
<langsyntaxhighlight lang=Pike>
string icon = Protocols.HTTP.get_url_data("http://rosettacode.org/favicon.ico");
string encoded = MIME.encode_base64(icon);
Stdio.write_file("favicon.ico", MIME.decode_base64(encoded));
</syntaxhighlight>
</lang>
 
=={{header|Prolog}}==
Line 1,164:
 
=={{header|PureBasic}}==
<langsyntaxhighlight lang=PureBasic>b64cd$ = "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVw" +
"IHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g="
 
Line 1,170:
Base64Decoder(b64cd$, *p_buf, 1024)
OpenConsole("") : PrintN(PeekS(*p_buf, -1, #PB_UTF8))
Input()</langsyntaxhighlight>
{{out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 1,176:
 
=={{header|Python}}==
<langsyntaxhighlight lang=Python>
import base64
data = 'VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g='
print(base64.b64decode(data).decode('utf-8'))
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 1,187:
</pre>
=={{header|QB64}}==
<langsyntaxhighlight lang=vb>Option _Explicit
 
Dim As String udata, decoded
Line 1,297:
Wend
decode = sink
End Function</langsyntaxhighlight>
{{out}}
<pre>
Line 1,309:
{{works with|R|4.1.0}}
{{libheader|base64enc}}
<langsyntaxhighlight lang=rsplus>
"VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo" |>
base64enc::base64decode() |>
rawToChar() |>
cat()
</langsyntaxhighlight>{{out}}
<pre>
To err is human, but to really foul things up you need a computer.
Line 1,324:
{{works with|Rakudo|2018.11}}
 
<syntaxhighlight lang=raku perl6lines>my $e64 = '
VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY2
9tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
Line 1,349:
say "\nFast:";
use Base64::Native;
say base64-decode($e64).decode('utf8');</langsyntaxhighlight>
{{out}}
<pre>Slow:
Line 1,360:
 
=={{header|Red}}==
<langsyntaxhighlight lang=red>Red [Source: https://github.com/vazub/rosetta-red]
 
print to-string debase "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo"
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 1,371:
 
=={{header|Ring}}==
<langsyntaxhighlight lang=ring>
#======================================#
# Sample: Base64 decode data
Line 1,387:
oQByteArray.append(oba)
see oQByteArray.fromBase64(oQByteArray).data()
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 1,395:
 
=={{header|Ruby}}==
<langsyntaxhighlight lang=ruby>require 'base64'
 
raku_example ='
Line 1,401:
9tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
'
puts Base64.decode64 raku_example</langsyntaxhighlight>
{{out}}
<pre>
Line 1,409:
 
=={{header|Rust}}==
<langsyntaxhighlight lang=rust>use std::str;
 
const INPUT: &str = "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLVBhdWwgUi5FaHJsaWNo";
Line 1,446:
 
println!("Output: {}", result);
}</langsyntaxhighlight>
{{out}}
<pre>
Line 1,456:
=={{header|Scala}}==
{{Out}}Best seen in running your browser either by [https://scalafiddle.io/sf/mjgxJDp/0 ScalaFiddle (ES aka JavaScript, non JVM)] or [https://scastie.scala-lang.org/P4RfGhRQSkaKWEmdBi1gaw Scastie (remote JVM)].
<langsyntaxhighlight lang=Scala>import java.util.Base64
 
object Base64Decode extends App {
Line 1,469:
 
println(text2BinaryDecoding(data))
}</langsyntaxhighlight>
 
=={{header|Seed7}}==
Line 1,476:
[http://seed7.sourceforge.net/libraries/encoding.htm#fromBase64(in_string) fromBase64].
 
<langsyntaxhighlight lang=seed7>$ include "seed7_05.s7i";
include "gethttp.s7i";
include "encoding.s7i";
Line 1,489:
writeln("Is the Rosetta Code icon the same (byte for byte) encoded then decoded: " <&
fromBase64(encoded) = original);
end func;</langsyntaxhighlight>
 
{{out}}
Line 1,495:
 
=={{header|SenseTalk}}==
<langsyntaxhighlight lang=sensetalk>
 
put base64Decode ("VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuIC0tUGF1bCBSLkVocmxpY2g=")
 
</syntaxhighlight>
</lang>
 
Output:
<langsyntaxhighlight lang=sensetalk>To err is human, but to really foul things up you need a computer. --Paul R.Ehrlich</langsyntaxhighlight>
 
=={{header|Sidef}}==
<langsyntaxhighlight lang=ruby>var data = <<'EOT'
VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY2
9tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
EOT
 
say data.decode_base64</langsyntaxhighlight>
{{out}}
<pre>
Line 1,519:
=={{header|Smalltalk}}==
{{works with|Smalltalk/X}}
<langsyntaxhighlight lang=smalltalk>data := '
VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY2
9tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
'.
 
data base64Decoded asString printCR.</langsyntaxhighlight>
{{out}}
<pre>To err is human, but to really foul things up you need a computer.
Line 1,530:
 
=={{header|Standard ML}}==
<langsyntaxhighlight lang=Standard ML>val debase64 = fn input =>
let
 
Line 1,560:
String.implode ( List.map (chr o Word.toInt) ( decodeLst (String.explode input )) )
 
end handle Subscript => "Invalid code\n" ;</langsyntaxhighlight>
call
<pre>
Line 1,569:
-- Paul R. Ehrlich </pre>
=={{header|Tcl}}==
<langsyntaxhighlight lang=tcl>package require tcl 8.6
set data VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
 
puts [binary decode base64 $data]</langsyntaxhighlight>
{{out}}
<pre>
Line 1,581:
=={{header|Visual Basic .NET}}==
{{trans|D}}
<langsyntaxhighlight lang=vbnet>Module Module1
 
Sub Main()
Line 1,592:
End Sub
 
End Module</langsyntaxhighlight>
{{out}}
<pre>VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g=
Line 1,600:
 
=={{header|Vlang}}==
<langsyntaxhighlight lang=vlang>import encoding.base64
 
fn main() {
Line 1,609:
decoded := base64.decode_str(encoded)
println("\nDecoded : $decoded")
}</langsyntaxhighlight>
 
{{out}}
Line 1,624:
{{libheader|Wren-str}}
From first principles using string manipulation. Quick enough here.
<langsyntaxhighlight lang=ecmascript>import "io" for Stdout
import "/fmt" for Conv, Fmt
import "/str" for Str
Line 1,653:
var s = "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZWVkIGEgY29tcHV0ZXIuCiAgICAtLSBQYXVsIFIuIEVocmxpY2g="
for (chunk in Str.chunks(s, 4)) decode.call(chunk)
System.print()</langsyntaxhighlight>
 
{{out}}
Line 1,663:
=={{header|zkl}}==
Using shared libraries for cURL and message hashing:
<langsyntaxhighlight lang=zkl>var [const] MsgHash=Import("zklMsgHash"), Curl=Import("zklCurl");
icon:=Curl().get("http://rosettacode.org/favicon.ico"); //-->(Data(4,331),693,0)
Line 1,671:
File("rosettaCodeIcon.ico","wb").write(iconDecoded); # eyeball checking says good
println("Is the Rosetta Code icon the same (byte for byte) encoded then decoded: ",
icon==iconDecoded);</langsyntaxhighlight>
{{out}}
<pre>
Line 1,677:
</pre>
{{out|Text based test}}
<langsyntaxhighlight lang=zkl>msg,b64 := "Rosetta Code Base64 decode data task", MsgHash.base64encode(msg);
println("Original: %s\nEncoded: %s\nBytes: %s\nDecoded: %s"
.fmt(msg, b64.text, b64.bytes().apply("toString",16).concat(","),
MsgHash.base64decode(b64).text));</langsyntaxhighlight>
<pre>
Original: Rosetta Code Base64 decode data task
10,327

edits