Как кодирование и декодирование Base64 выполняется в node.js?

Опубликовано: 31 Июля, 2021

Кодирование и декодирование Base64 можно выполнить в Node.js с помощью объекта Buffer.

Кодирование исходной строки в base64: класс Buffer в Node.js можно использовать для преобразования строки в серию байтов. Это можно сделать с помощью метода Buffer.from (), который принимает строку, которую нужно преобразовать, и текущую кодировку строки. Эта кодировка может быть указана как «utf8».

Затем преобразованные байты можно вернуть как base64 с помощью метода toString (). Этот метод принимает параметр, указывающий кодировку, необходимую во время преобразования. В этом случае в качестве кодировки указывается «base64». Таким образом, этот метод преобразует любую строку в формат base64.

Синтаксис:

 // Создание объекта буфера, указав в качестве кодировки utf8
пусть bufferObj = Buffer.from (originalString, "utf8");

// Кодируем буфер как строку base64
пусть base64String = bufferObj.toString ("base64");

Пример:




// The original utf8 string
let originalString = "GeeksforGeeks";
  
// Create buffer object, specifying utf8 as encoding
let bufferObj = Buffer.from(originalString, "utf8");
  
// Encode the Buffer as a base64 string
let base64String = bufferObj.toString("base64");
  
console.log("The encoded base64 string is:", base64String);

Выход:

 Закодированная строка base64: R2Vla3Nmb3JHZWVrcw ==

Декодирование base64 в исходную строку: Буфер также можно использовать для преобразования строки base64 обратно в кодировку utf8. Метод Buffer.from () снова используется для преобразования строки base64 обратно в байты, однако на этот раз с указанием текущей кодировки как «base64».

Затем преобразованные байты можно вернуть как исходную строку utf8 с помощью метода toString (). В этом случае в качестве кодировки указывается «utf8». Таким образом, этот метод преобразует base64 в исходный формат utf9.

Синтаксис:

 // Создаем буфер из строки
пусть bufferObj = Buffer.from (base64string, "base64");

// Кодировать буфер как строку utf8
пусть decodedString = bufferObj.toString ("utf8");

Пример:




// The base64 encoded input string
let base64string = "R2Vla3Nmb3JHZWVrcw==" ;
// Create a buffer from the string
let bufferObj = Buffer.from(base64string, "base64" );
// Encode the Buffer as a utf8 string
let decodedString = bufferObj.toString( "utf8" );
console.log( "The decoded string:" , decodedString);

Выход:

 Расшифрованная строка: GeeksforGeeks