Base64 encode data: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
m (Solution in Red programming language)
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 3:
 
See also [[Base64 decode data]].
 
=={{header|Ada}}==
{{libheader|AWS}}
<lang Ada>with Ada.Text_IO;
 
with AWS.Response;
with AWS.Client;
with AWS.Translator;
 
procedure Encode_AWS is
URL : constant String := "http://rosettacode.org/favicon.ico";
Page : constant AWS.Response.Data := AWS.Client.Get (URL);
Payload : constant String := AWS.Response.Message_Body (Page);
Icon_64 : constant String := AWS.Translator.Base64_Encode (Payload);
begin
Ada.Text_IO.Put_Line (Icon_64);
end Encode_AWS;</lang>
 
{{out}}
<pre>
AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAAAAAAA
...
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
 
=={{header|ABAP}}==
Line 57 ⟶ 33:
WRITE: / lv_encoded.
</lang>
 
{{out}}
<pre>
AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAAAAAAA
...
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
 
=={{header|Ada}}==
{{libheader|AWS}}
<lang Ada>with Ada.Text_IO;
 
with AWS.Response;
with AWS.Client;
with AWS.Translator;
 
procedure Encode_AWS is
URL : constant String := "http://rosettacode.org/favicon.ico";
Page : constant AWS.Response.Data := AWS.Client.Get (URL);
Payload : constant String := AWS.Response.Message_Body (Page);
Icon_64 : constant String := AWS.Translator.Base64_Encode (Payload);
begin
Ada.Text_IO.Put_Line (Icon_64);
end Encode_AWS;</lang>
 
{{out}}
Line 139:
AAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
 
=={{header|ARM Assembly}}==
<lang ARM Assembly>
Line 387 ⟶ 388:
return 0;
}</lang>
 
=={{header|C sharp|C#}}==
<lang csharp>namespace RosettaCode.Base64EncodeData
{
using System;
using System.Net;
 
internal static class Program
{
private static void Main()
{
const string path = "http://rosettacode.org/favicon.ico";
 
byte[] input;
using (var client = new WebClient())
{
input = client.DownloadData(path);
}
 
var output = Convert.ToBase64String(input);
Console.WriteLine(output);
}
}
}</lang>
Output:
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAg...AAABAAAAAQAAAAEAAAABAAAAAQAAAAE=</pre>
 
=={{header|C++}}==
Line 455 ⟶ 482:
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
 
=={{header|C sharp|C#}}==
<lang csharp>namespace RosettaCode.Base64EncodeData
{
using System;
using System.Net;
 
internal static class Program
{
private static void Main()
{
const string path = "http://rosettacode.org/favicon.ico";
 
byte[] input;
using (var client = new WebClient())
{
input = client.DownloadData(path);
}
 
var output = Convert.ToBase64String(input);
Console.WriteLine(output);
}
}
}</lang>
Output:
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAg...AAABAAAAAQAAAAEAAAABAAAAAQAAAAE=</pre>
 
=={{header|D}}==
Line 538 ⟶ 539:
{{out}}
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4F...AAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=</pre>
 
=={{header|Factor}}==
<lang factor>USING: base64 http.client io kernel strings ;
 
"http://rosettacode.org/favicon.ico" http-get nip
>base64-lines >string print</lang>
{{out}}
<pre>
AAABAAIAEBAAAAAAAABoBQAAJgAAACAg...AAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
 
=={{header|F#}}==
Line 605 ⟶ 596:
{{out}}
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAA ...</pre>
 
=={{header|Factor}}==
<lang factor>USING: base64 http.client io kernel strings ;
 
"http://rosettacode.org/favicon.ico" http-get nip
>base64-lines >string print</lang>
{{out}}
<pre>
AAABAAIAEBAAAAAAAABoBQAAJgAAACAg...AAABAAAAAQAAAAEAAAABAAAAAQAAAAE=
</pre>
 
=={{header|Go}}==
Line 1,150 ⟶ 1,151:
return 0;
}</lang>
 
 
=={{header|OCaml}}==
Line 1,194:
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAA</pre>
<pre>AAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAE=</pre>
 
=={{header|Perl 6}}==
<lang perl6>sub MAIN {
my $buf = slurp("./favicon.ico", :bin);
say buf-to-Base64($buf);
}
 
my @base64map = flat 'A' .. 'Z', 'a' .. 'z', ^10, '+', '/';
 
sub buf-to-Base64($buf) {
join '', gather for $buf.list -> $a, $b = [], $c = [] {
my $triplet = ($a +< 16) +| ($b +< 8) +| $c;
take @base64map[($triplet +> (6 * 3)) +& 0x3F];
take @base64map[($triplet +> (6 * 2)) +& 0x3F];
if $c.elems {
take @base64map[($triplet +> (6 * 1)) +& 0x3F];
take @base64map[($triplet +> (6 * 0)) +& 0x3F];
}
elsif $b.elems {
take @base64map[($triplet +> (6 * 1)) +& 0x3F];
take '=';
}
else { take '==' }
}
}</lang>
{{out}}
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAA...QAAAAEAAAABAAAAAQAAAAE=</pre>
 
=={{header|Phix}}==
Line 1,348 ⟶ 1,321:
#"AAABAAIAEBAAAAAAAABoBQAA...AQAAAAE=\r\n"
</lang>
 
=={{header|Raku}}==
(formerly Perl 6)
<lang perl6>sub MAIN {
my $buf = slurp("./favicon.ico", :bin);
say buf-to-Base64($buf);
}
 
my @base64map = flat 'A' .. 'Z', 'a' .. 'z', ^10, '+', '/';
 
sub buf-to-Base64($buf) {
join '', gather for $buf.list -> $a, $b = [], $c = [] {
my $triplet = ($a +< 16) +| ($b +< 8) +| $c;
take @base64map[($triplet +> (6 * 3)) +& 0x3F];
take @base64map[($triplet +> (6 * 2)) +& 0x3F];
if $c.elems {
take @base64map[($triplet +> (6 * 1)) +& 0x3F];
take @base64map[($triplet +> (6 * 0)) +& 0x3F];
}
elsif $b.elems {
take @base64map[($triplet +> (6 * 1)) +& 0x3F];
take '=';
}
else { take '==' }
}
}</lang>
{{out}}
<pre>AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAA...QAAAAEAAAABAAAAAQAAAAE=</pre>
 
=={{header|Red}}==
Line 1,453 ⟶ 1,454:
println(s"Successfully completed without errors. [total ${compat.Platform.currentTime - executionStart} ms]")
}</lang>
 
=={{header|Seed7}}==
The Seed7 library [http://seed7.sourceforge.net/libraries/encoding.htm encoding.s7i] defines
10,327

edits