Description de la méthode:
Écrivez de la chaîne dans le décalage du tampon à l'aide du codage spécifié.
Renvoie combien d'octets octaux ont été écrits.
Si le tampon n'a pas assez d'espace pour accueillir la chaîne entière, seule la chaîne sera écrite.
grammaire:
La copie de code est la suivante:
buffer.write (String, [Offset], [Longueur], [Encoding])
Recevoir des paramètres:
String String, données écrites dans le tampon.
Numéro d'offre, facultatif, par défaut 0. Les données sont écrites à l'emplacement du tampon.
Numéro de longueur, facultatif, par défaut: tampon.Length Offset, longueur des données à écrire
Encoding String, le format de codage qui doit être utilisé, facultatif, par défaut est "UTF8".
exemple:
La copie de code est la suivante:
buf = nouveau tampon (256);
len = buf.write ('/ u00bd + / u00bc = / u00be', 0);
console.log (Len + "octets:" + buf.tostring ('utf8', 0, len));
Code source:
La copie de code est la suivante:
Buffer.prototype.write = fonction (chaîne, décalage, longueur, codage) {
// Autoriser l'écriture (chaîne, encodage)
if (util.issstring (offset) && util.isundefined (longueur)) {
codage = offset;
offset = 0;
// Autoriser l'écriture (String, Offset [, Longueur], Encoding)
} else if (isfinite (offset)) {
offset = ~~ offset;
if (isfinite (longueur)) {
longueur = ~~ longueur;
} autre {
codage = longueur;
longueur = non définie;
}
// xxx héritage écrit (chaîne, encodage, décalage, longueur) - Supprimer en v0.13
} autre {
if (! writewarned) {
if (process.throwDeprecation)
lancer une nouvelle erreur (writeMsg);
else if (process.tracedeprecation)
console.trace (écriture);
autre
Console.Error (écriture);
writewarned = true;
}
var swap = codage;
codage = offset;
Offset = ~~ Longueur;
longueur = swap;
}
var restant = this.length - offset;
if (util.isundefined (longueur) || longueur> restant)
longueur = restant;
Encodage = !! Encodage? (codage + '') .tolowercase (): 'utf8';
if (string.length> 0 && (longueur <0 || offset <0))
Jetez un nouveau RangeError («Tenter d'écrire au-delà des limites de tampon»);
var ret;
commutateur (encoding) {
cas «hex»:
ret = this.hexwrite (chaîne, décalage, longueur);
casser;
cas «UTF8»:
cas «UTF-8»:
ret = this.utf8write (chaîne, décalage, longueur);
casser;
cas «ASCII»:
ret = this.asciiwrite (chaîne, décalage, longueur);
casser;
cas «binaire»:
ret = this.binarywrite (chaîne, décalage, longueur);
casser;
Cas «Base64»:
// AVERTISSEMENT: MaxLength non pris en compte dans Base64Write
ret = this.base64write (chaîne, décalage, longueur);
casser;
cas «UCS2»:
cas «UCS-2»:
case 'utf16le':
case 'utf-16le':
ret = this.ucs2write (chaîne, décalage, longueur);
casser;
défaut:
Jetez un nouveau type Eerror ('codage inconnu:' + codage);
}
retour de retour retour;
};