View source code
					
 Display the source code in std/base64.d from which this page was generated on
 github.
					
				
				
 Improve this page
					
 Quickly fork, edit online, and submit a pull request for this page.
 Requires a signed-in GitHub account. This works well for small changes.
 If you'd like to make larger changes you may want to consider using
 local clone.
					
				
				
 Page wiki
					
 View or edit the community-maintained wiki page associated with this page.
					
				
			
			Module std.base64
			 Support for Base64 encoding and decoding.
 This module provides two default implementations of Base64 encoding,
 Base64Base64URL
 Both variants are implemented as instantiations of the template
 Base64ImplBase64 encodings,
 such as one that omits padding characters, or one that is safe to embed
 inside a regular expression.
Example
ubyte[] data = [0x14, 0xfb, 0x9c, 0x03, 0xd9, 0x7e];
const(char)[] encoded = Base64.encode(data);
assert(encoded == "FPucA9l+");
ubyte[] decoded = Base64.decode("FPucA9l+");
assert(decoded == [0x14, 0xfb, 0x9c, 0x03, 0xd9, 0x7e]);
The range API is supported for both encoding and decoding:
Example
// Create MIME Base64 with CRLF, per line 76. File f = File("./text.txt", "r"); scope(exit) f.close(); Appender!string mime64 = appender!string; foreach (encoded; Base64.encoder(f.byChunk(57))) { mime64.put(encoded); mime64.put("\r\n"); } writeln(mime64.data);
References
Classes
| Name | Description | 
|---|---|
| Base64Exception | Exception thrown upon encountering Base64encoding or decoding errors. | 
Templates
| Name | Description | 
|---|---|
| Base64Impl | Template for implementing Base64encoding and decoding. | 
Aliases
| Name | Type | Description | 
|---|---|---|
| Base64 | Implementation of standard Base64 encoding. | |
| Base64URL | Variation of Base64encoding that is safe for use in URLs and filenames. | 
Authors
Masahiro Nakagawa, Daniel Murphy (Single value Encoder and Decoder)