Maison > interface Web > js tutoriel > Instructions d'utilisation de la méthode buffer.slice dans node.js_node.js

Instructions d'utilisation de la méthode buffer.slice dans node.js_node.js

WBOY
Libérer: 2016-05-16 16:27:45
original
1488 Les gens l'ont consulté

Description de la méthode :

Renvoie un nouvel objet tampon. Ce nouveau tampon partage la même mémoire que l'ancien tampon.

Mais réduit par les décalages d'index de début et de fin. (Par exemple, s'il y a 1 à 10 octets dans un tampon et que nous voulons seulement 4 à 8 octets, nous pouvons utiliser cette fonction buf.slice(4,8). Comme ils partagent la même mémoire, ils ne consommeront pas de mémoire. ,)

La mémoire étant partagée, après avoir modifié le nouveau tampon, le contenu de l'ancien tampon sera également modifié.

Grammaire :

Copier le code Le code est le suivant :

buffer.slice([début], [fin])

Paramètres de réception :

start Position de départ, par défaut

end Position finale, la longueur par défaut est la longueur du tampon

Exemple :

Créez un tampon en utilisant l'alphabet ASCII, utilisez la fonction slice, puis modifiez un octet dans le tampon d'origine.

Copier le code Le code est le suivant :

var buf1 = nouveau tampon (26);
pour (var je = 0 ; je < 26 ; je ) {
buf1[i] = i 97; // 97 est ASCII a
>
var buf2 = buf1.slice(0, 3);
console.log(buf2.toString('ascii', 0, buf2.length));
buf1[0] = 33;
console.log(buf2.toString('ascii', 0, buf2.length));
//abc
// !bc

Code source :

Copier le code Le code est le suivant :

// TODO(trevnorris) : fonctionne actuellement comme Array.prototype.slice(), qui
// ne suit pas la nouvelle norme pour lancer des index hors plage.
Buffer.prototype.slice = function(début, fin) {
var len = this.length;
start = ~~start;
end = util.isUndefined(end) ? len : ~~end;
si (début < 0) {
Début = len;
Si (début < 0)
Début = 0;
} else if (start > len) {
Début = len;
>
si (fin < 0) {
Fin = len;
Si (fin < 0)
Fin = 0;
} sinon si (fin > len) {
Fin = len;
>
si (fin < début)
Fin = début ;
var buf = new NativeBuffer();
sliceOnto(this, buf, start, end);
buf.length = fin - début;
si (buf.length > 0)
buf.parent = util.isUndefined(this.parent) ? this : this.parent;
Retour buf ;
};
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal