node.jsのbufferwriteメソッドの使用説明
3434 ワード
メソッドの説明:
stringを指定したencodingを使用してbufferのoffsetに書き込みます.
8進数バイトが何個書き込まれているかを返します.
Bufferがstring全体に適応するのに十分な空間がない場合、stringの部分だけが書き込まれます.
構文:
受信パラメータ:
string Stringは、bufferのデータに書き込む.offet number、オプション、デフォルト0.bufferの位置にデータが書き込まれる.length Number、オプション、デフォルト:buffer.length�C offset、データの長さencoding Stringを書き込むには、使用する符号化フォーマットが必要で、オプションで、デフォルトは「utf 8」である.
例:
ソース:
stringを指定したencodingを使用してbufferのoffsetに書き込みます.
8進数バイトが何個書き込まれているかを返します.
Bufferがstring全体に適応するのに十分な空間がない場合、stringの部分だけが書き込まれます.
構文:
buffer.write(string, [offset], [length], [encoding])
受信パラメータ:
string Stringは、bufferのデータに書き込む.offet number、オプション、デフォルト0.bufferの位置にデータが書き込まれる.length Number、オプション、デフォルト:buffer.length�C offset、データの長さencoding Stringを書き込むには、使用する符号化フォーマットが必要で、オプションで、デフォルトは「utf 8」である.
例:
buf = new Buffer(256);
len = buf.write('\u00bd + \u00bc = \u00be', 0);
console.log(len + " bytes: " + buf.toString('utf8', 0, len));
ソース:
Buffer.prototype.write = function(string, offset, length, encoding) {
// allow write(string, encoding)
if (util.isString(offset) && util.isUndefined(length)) {
encoding = offset;
offset = 0;
// allow write(string, offset[, length], encoding)
} else if (isFinite(offset)) {
offset = ~~offset;
if (isFinite(length)) {
length = ~~length;
} else {
encoding = length;
length = undefined;
}
// XXX legacy write(string, encoding, offset, length) - remove in v0.13
} else {
if (!writeWarned) {
if (process.throwDeprecation)
throw new Error(writeMsg);
else if (process.traceDeprecation)
console.trace(writeMsg);
else
console.error(writeMsg);
writeWarned = true;
}
var swap = encoding;
encoding = offset;
offset = ~~length;
length = swap;
}
var remaining = this.length - offset;
if (util.isUndefined(length) || length > remaining)
length = remaining;
encoding = !!encoding ? (encoding + '').toLowerCase() : 'utf8';
if (string.length > 0 && (length < 0 || offset < 0))
throw new RangeError('attempt to write beyond buffer bounds');
var ret;
switch (encoding) {
case 'hex':
ret = this.hexWrite(string, offset, length);
break;
case 'utf8':
case 'utf-8':
ret = this.utf8Write(string, offset, length);
break;
case 'ascii':
ret = this.asciiWrite(string, offset, length);
break;
case 'binary':
ret = this.binaryWrite(string, offset, length);
break;
case 'base64':
// Warning: maxLength not taken into account in base64Write
ret = this.base64Write(string, offset, length);
break;
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
ret = this.ucs2Write(string, offset, length);
break;
default:
throw new TypeError('Unknown encoding: ' + encoding);
}
return ret;
};