Node.js: conversión de cadenas en búfer y viceversa
Uso de frases ingeniosas para convertir fácilmente cadenas en búferes y búferes en cadenas en Node.js.
Afortunadamente, Node.js viene con herramientas listas para usar para trabajar con búferes usando el objeto globalBuffer. Por lo tanto, no necesita ninguna biblioteca externa para ello.
Convertir cadenas en búfer
Para crear un búfer a partir de una cadena, puede usar el método Buffer.from(...)
. No tiene que importarlo/requerirlo explícitamente, el objeto Buffer
está disponible en el ámbito global.
Si por alguna razón, su versión de Node.js arroja un error porque no la ha importado, aún puede importarla explícitamente con lo siguiente:
const { Buffer } = require('buffer'); // OR import { Buffer } from 'buffer';
El siguiente fragmento muestra la inicialización de una cadena y su conversión a un búfer.
// Original string const str = "This is a string"; // Create the buffer with "utf-8" encoding const buffer = Buffer.from(str, "utf-8"); // Output: <Buffer 54 68 69 73 20 69 73 20 61 20 73 74 72 69 6e 67> console.log(buffer);
Como primer argumento, el método Buffer.from(...)
acepta una cadena. Aunque el método estático está sobrecargado, también son posibles otros tipos de entrada. El segundo argumento espera una codificación opcional cuando decide una entrada de cadena. En la mayoría de los casos, cuando trabaje con cadenas, querrá usar utf-8
. Aunque no tiene que configurar utf-8
como codificación explícitamente, ya que es el valor predeterminado de todos modos.
La firma del método final tiene este aspecto: Buffer.from(string[, encoding])
Convertir mantequilla en hilo
Es sencillo y compatible de forma nativa cuando desea volver a convertir un búfer en una cadena.
El objeto de búfer creado tiene un método toString(...)
que vuelve a convertir el búfer en una cadena.
Por ejemplo, en el siguiente fragmento, puede ver cómo creamos un nuevo búfer a partir de una cadena, igual que arriba, y luego usamos el método toString(...)
para convertir el búfer de nuevo a nuestra cadena inicial.
// Create initial buffer const str = "This is a string"; const buffer = Buffer.from(str, "utf-8"); // Convert buffer back to string const strFromBuffer = buffer.toString(); // Output: This is a string console.log(strFromBuffer);
Similar al método Buffer.from(...)
, el método toString(...)
también tiene un argumento de encoding
opcional, además de algunos otros parámetros opcionales.
La codificación predeterminada es utf-8
también para este método.
Entonces toString()
es lo mismo que toString("utf-8")
.
¿Quieres ponerte en contacto?
Si quiere ponerse en contacto conmigo, por favor contáctame en el botón de abajo.