npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

buffer-string-to-array

v1.0.11

Published

Convert Nodejs Buffer.toString() output to an array.

Downloads

14

Readme

buffer-string-to-array

Convert Nodejs Buffer.toString() output to an array.

Usage

This is used in situations where you have saved an array to a database LONGBLOG i.e. using mysqljs/mysql whereby the database stores your original array as the hex string Buffer of the original array's string representation.

Installation on system

npm install buffer-string-to-array

In-code usage

var converter = require(buffer-string-to-array);

// Use the Buffer's toString() method to get the hex string Buffer's string representation of the data
var the_string = database_result[0].original_array.toString();
var newArray = Uint8Array.from(converter.convert(the_string));

Background

In this sort of situation what we want to do is use the (returnd by the DB) Buffer's .toString() function to get the actual / literal Uint8Array numbers and then we want to do the equivalent of split(",") so we can pack each string representation of each number into a separate index of an array.

In this specific (unique) situation, we already have our Uint8Array/Buffer, it is just that we have it in the form of a hex string and we want the literal numbers to use in our application.

In this specific situation converting the Buffer to ArrayBuffer (a.k.a view) will just give us a view of each of the hex string values i.e. 48, 49, 46. For example

let my_array_buffer = database_result[0].original_array.buffer.slice(database_result[0].original_array.byteOffset, database_result[0].original_array.byteOffset + database_result[0].original_array.byteLength);

Even creating a typed array will give that same result. For example

let uint8array = new Uint8Array(database_result[0].original_array.buffer, database_result[0].original_array.byteOffset, database_result[0].original_array.byteLength / Uint8Array.BYTES_PER_ELEMENT);

We don't want that, we want the original data i.e. [0, 50, 100, 200, 245]

For more excellent information about Buffer/ArrayBuffer/DataView/Uint8Array etc. in Node.js, see this very useful stackoverflow answer.