Convertit le buffer de nodejs sur le javascript des navigateurs

Je convertis mon code de Node.js au javascript des navigateurs, mais j'ai un problème avec les Buffers dans node.js. Comment puis-je les utiliser en version Javascript?

Voici un exemple:

new Buffer("foo", encoding='utf8') <Buffer 66 6f 6f> 

J'ai besoin de transformer [66, 6f, 6f] en javascript en "foo" et vice versa. Comment puis je faire ça? REMARQUE: cela doit se faire sans Node.js.

Avec https://github.com/substack/node-browserify, vous pouvez travailler avec des tampons dans le navigateur en utilisant: https://github.com/toots/buffer-browserify . Cependant: cela peut être très lent dans le navigateur: Pour un accès plus rapide, utilisez https://github.com/chrisdickinson/bops

Il n'y a pas de support direct pour Buffer dans JavaScript basé sur le navigateur, et je ne connais aucune bibliothèque de compatibilité qui implémente l'API Buffer (encore).

La fonctionnalité équivalente dans le navigateur est fournie par TypedArrays. Vous pouvez en apprendre plus ici:

Lors du transfert d'une implémentation basée sur Buffer par nœud sur JavaScript basé sur le navigateur, j'ai trouvé ces réponses utiles:

  • Conversion entre les chaînes et ArrayBuffers
  • Javascript – Conversion entre une chaîne Unicode et ArrayBuffer

Pour convertir en retour à la chaîne, utilisez la méthode toString du tampon avec un encodage fourni.

http://nodejs.org/docs/latest/api/buffers.html#buffer.toString

 var buffer = new Buffer("foo", "utf8"); var str = buffer.toString("utf8"); str === "foo";