Base64 Encoder
Encode and decode Base64 strings with URL-safe variant support
Description
A Base64 encoding/decoding utility with support for standard and URL-safe variants. Handles text and binary data encoding.
Features
- Standard Base64 encoding
- URL-safe Base64
- Text and binary support
- Validation
Code
class Base64Encoder { static encode(str) { return btoa(unescape(encodeURIComponent(str))); } static decode(base64) { try { return decodeURIComponent(escape(atob(base64))); } catch (e) { return null; } } static encodeUrlSafe(str) { return this.encode(str) .replace(/\+/g, '-') .replace(/\//g, '_') .replace(/=/g, ''); } static decodeUrlSafe(base64) { base64 = base64.replace(/-/g, '+').replace(/_/g, '/'); const padding = (4 - (base64.length % 4)) % 4; base64 += '='.repeat(padding); return this.decode(base64); } static isValid(base64) { if (!base64 || base64.length === 0) return false; const base64Regex = /^[A-Za-z0-9+\/]*={0,2}$/; return base64Regex.test(base64); }}module.exports = Base64Encoder;
const Base64Encoder = require('./base64Encoder');const text = 'Hello, World!';// Standard encodingconst encoded = Base64Encoder.encode(text);console.log('Encoded:', encoded);// Decodingconst decoded = Base64Encoder.decode(encoded);console.log('Decoded:', decoded);// URL-safe encodingconst urlSafe = Base64Encoder.encodeUrlSafe(text);console.log('URL-safe:', urlSafe);// Validationconsole.log('Valid:', Base64Encoder.isValid('SGVsbG8sIFdvcmxkIQ=='));
Comments
No comments yet. Be the first to comment!
Please login to leave a comment.