Módulo Node.js NPM arraybuffer-to-string

NPM (Node Package Manager) es un administrador de paquetes de paquetes Node.js. Hay un paquete NPM llamado arraybuffer-to-string que se usa para decodificar búferes de array en strings reales. El paquete no solo convierte el búfer en una string ‘utf8’, sino que también convierte el búfer en muchas formas, como una string codificada en base64, una string codificada en hexadecimal que usamos en muchos contextos.

Comando para instalar:  

npm install arraybuffer-to-string

Sintaxis para importar el paquete en un archivo local

const arrayBufferToString = require('arraybuffer-to-string')

Sintaxis para convertir arraybuffer a string

arrayBufferToString(buffer, encodingType)

Parámetros: Se necesitan dos parámetros ‘buffer’ y ‘encodingType’ a los que queremos convertir el arraybuffer como se muestra a continuación:

  • búfer: es el búfer de array que queremos convertir al texto real. Hay muchos métodos en node.js que directamente no devuelven el contenido real de la string, pero devuelven la forma de búfer de la respuesta. En esos contextos, usamos este paquete para convertir el búfer en una string.
  • encodingType: es el parámetro opcional, el valor predeterminado es ‘utf8’. significa el tipo de string a la que queremos convertir el búfer. Las codificaciones disponibles son utf8, binary, base64, hex, ascii, latin1, ucs2, utf16 y muchas otras.

Ejemplo 1:   Este ejemplo ilustra cómo usar ‘arraybuffer-to string’ para convertir de un búfer de array a una string utf8.

Nombre de archivo: index.js: este archivo contiene lógica para convertir arraybuffer en una string utf8.

javascript

const express = require('express')
const bodyParser = require('body-parser')
const arrayBufferToString =require('arraybuffer-to-string')
const formTemplet = require('./form')
 
const app = express()
const port = process.env.PORT || 3000
 
// The body-parser middleware to parse form data
app.use(bodyParser.urlencoded({extended : true}))
 
// Get route to display HTML form
app.get('/', (req, res) => {
  res.send(formTemplet({}))
})
 
// Post route to handle form submission logic and
app.post('/', (req, res) => {
  const {rawInput} = req.body
  // Creating buffer of string
  const buffer = Buffer.from(rawInput)
   
  // Buffer to array buffer
  var uint8 = new Uint8Array(buffer)
   
  // Converting from array buffer to actual utf8 string
  const utf8str = arrayBufferToString(uint8)
   
  // Printing on console
  console.log(`Original string : ${rawInput}\n`)
  console.log(`Array Buffer : ${uint8}\n`)
  console.log(`Decoded utf8 string : ${utf8str}\n`)
})
 
// Server setup
app.listen(port, () => {
  console.log(`Server start on port ${port}`)
})

filename-form.js: este archivo contiene lógica para representar el formulario.

javascript

module.exports = ({errors}) => {
  return `
<!DOCTYPE html>
<html>
 
<head>
  <link rel='stylesheet' href=
'https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.0/css/bulma.min.css'>
  <style>
    div.columns {
      margin-top: 100px;
    }
 
    .button {
      margin-top: 10px
    }
  </style>
</head>
 
<body>
  <div class='container'>
    <div class='columns is-centered'>
      <div class='column is-5'>
        <form action='/' method='POST'>
          <div>
            <div>
              <label class='label'
                id='raw-input'>Raw Input
              </label>
            </div>
            <input class='input' type='text'
              name='rawInput' placeholder=
              'Raw Input' for='raw-input'>
          </div>
          <div>
            <button class='button is-info'>
              Submit
            </button>
          </div>
        </form>
      </div>
    </div>
  </div>
</body>
 
</html>
  `
}

Producción:

Envíe la string de entrada también conviértala de string a búfer de array a string codificada en utf8

Respuesta impresa en el símbolo del sistema

Ejemplo 2:  este ejemplo ilustra cómo usar ‘arraybuffer-to string’ para convertir de un búfer de array a una string codificada en base64.

Nombre de archivo: index.js: este archivo contiene lógica para convertir arraybuffer en una string codificada en base64.

javascript

const express = require('express')
const bodyParser = require('body-parser')
const arrayBufferToString =require('arraybuffer-to-string')
const formTemplet = require('./form')
 
const app = express()
const port = process.env.PORT || 3000
 
// The body-parser middleware to parse form data
app.use(bodyParser.urlencoded({extended : true}))
 
// Get route to display HTML form
app.get('/', (req, res) => {
  res.send(formTemplet({}))
})
 
// Post route to handle form submission logic and
app.post('/', (req, res) => {
  const {rawInput} = req.body
  // Creating buffer of string
  const buffer = Buffer.from(rawInput)
   
  // Buffer to array buffer
  var uint8 = new Uint8Array(buffer)
   
  // Converting from array buffer to actual
  // base64 encoded string
  const base64str = arrayBufferToString(uint8, 'base64')
   
  // Printing on console
  console.log(`Original string : ${rawInput}\n`)
  console.log(`Array Buffer : ${uint8}\n`)
  console.log(`Decoded utf8 string : ${base64str}\n`)
})
 
// Server setup
app.listen(port, () => {
  console.log(`Server start on port ${port}`)
})

filename-form.js: este archivo contiene lógica para representar el formulario.

javascript

module.exports = ({errors}) => {
  return `
<!DOCTYPE html>
<html>
 
<head>
  <link rel='stylesheet' href=
'https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.0/css/bulma.min.css'>
  <style>
    div.columns {
      margin-top: 100px;
    }
 
    .button {
      margin-top: 10px
    }
  </style>
</head>
 
<body>
  <div class='container'>
    <div class='columns is-centered'>
      <div class='column is-5'>
        <form action='/' method='POST'>
          <div>
            <div>
              <label class='label' id=
                'raw-input'>Raw Input
              </label>
            </div>
            <input class='input' type='text'
              name='rawInput' placeholder=
              'Raw Input' for='raw-input'>
          </div>
          <div>
            <button class='button is-info'>
              Submit
            </button>
          </div>
        </form>
      </div>
    </div>
  </div>
</body>
 
</html>
  `
}

Producción:

Envíe la string de entrada también conviértala de string a búfer de array a string codificada en base64

Respuesta impresa en el símbolo del sistema

Nota: Hemos utilizado algunas clases de Bulma en el archivo form.js para diseñar el contenido.

Publicación traducida automáticamente

Artículo escrito por hunter__js y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *