對象Buffer
二進制數據緩存對象,用於 io 讀寫的數據處理
Buffer 對象為全局基礎類,在任何時候都可以直接以new Buffer(...) 創建:
1var buf = new Buffer();
繼承關係
構造函數
Buffer
緩存對象構造函數
1new Buffer(Array datas);
調用參數:
- datas: Array, 初始化數據數組
緩存對象構造函數
1new Buffer(ArrayBuffer datas);
調用參數:
- datas: ArrayBuffer, 初始化數據數組
緩存對象構造函數
1new Buffer(TypedArray datas);
調用參數:
- datas: TypedArray, 初始化數據數組
緩存對象構造函數
1new Buffer(ArrayBufferView datas);
調用參數:
- datas: ArrayBufferView, 初始化數據數組
緩存對象構造函數
1new Buffer(Buffer buffer);
調用參數:
- buffer: Buffer, 初始化Buffer對象
緩存對象構造函數
1
2new Buffer(String str,
String codec = "utf8");
調用參數:
- str: String, 初始化字符串,字符串將以utf-8 格式寫入,缺省則創建一個空對象
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
緩存對象構造函數
1new Buffer(Integer size = 0);
調用參數:
- size: Integer, 初始化緩衝區大小
操作符
operator[]
緩存對象可使用下標直接訪問二進制數據
1Integer Buffer[];
@iterator
查詢當前對像元素的迭代器
1Iterator Buffer.@iterator();
返回結果:
- Iterator, 返回當前對像元素的迭代器
對象
Buffer
二進制數據緩存對象,用於 io 讀寫的數據處理
1Buffer new Buffer;
靜態函數
isBuffer
檢測給定的變量是否是Buffer 對象
1static Boolean Buffer.isBuffer(Value v);
調用參數:
- v: Value, 給定需要檢測的變量
返回結果:
- Boolean, 傳入對像是否Buffer 對象
from
通過其他Buffer 創建Buffer 對象
1
2
3static Buffer Buffer.from(Buffer buffer,
Integer byteOffset = 0,
Integer length = -1);
調用參數:
- buffer: Buffer, 給定Buffer 類型變量用於創建Buffer 對象
- byteOffset: Integer, 指定數據起始位置,起始為 0
- length: Integer, 指定數據長度,起始位-1,表示剩餘所有數據
返回結果:
- Buffer, 返回Buffer 實例
通過字符串創建Buffer 對象
1
2
3static Buffer Buffer.from(String str,
Integer byteOffset = 0,
Integer length = -1);
調用參數:
- str: String, 初始化字符串,字符串將以utf-8 格式寫入
- byteOffset: Integer, 指定數據起始位置,起始為 0
- length: Integer, 指定數據長度,起始位-1,表示剩餘所有數據
返回結果:
- Buffer, 返回Buffer 實例
通過字符串創建Buffer 對象
1
2static Buffer Buffer.from(String str,
String codec = "utf8");
調用參數:
- str: String, 初始化字符串,字符串將以utf-8 格式寫入,缺省則創建一個空對象
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Buffer, 返回Buffer 實例
concat
拼接多個緩存區中的數據
1
2static Buffer Buffer.concat(Array buflist,
Integer cutLength = -1);
調用參數:
- buflist: Array, 待拼接的Buffer數組
- cutLength: Integer, 截取多少個Buffer對象
返回結果:
- Buffer, 拼接後產生的新Buffer 對象
alloc
分配一個指定長度的新緩存區。如果大小為0,將創建一個零長度的緩存區。
1
2
3static Buffer Buffer.alloc(Integer size,
Integer fill = 0,
String codec = "utf8");
調用參數:
- size: Integer, 緩衝區的所需長度
- fill: Integer, 預先填充新緩衝區的值,可使用string/buffer/integer 值類型。默認值:0
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Buffer, 填充好的新Buffer 對象
分配一個指定長度的新緩存區。如果大小為0,將創建一個零長度的緩存區。
1
2
3static Buffer Buffer.alloc(Integer size,
String fill = "",
String codec = "utf8");
調用參數:
- size: Integer, 緩衝區的所需長度
- fill: String, 預先填充新緩衝區的值,可使用string/buffer/integer 值類型。默認值:0
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Buffer, 填充好的新Buffer 對象
分配一個指定長度的新緩存區。如果大小為0,將創建一個零長度的緩存區。
1
2
3static Buffer Buffer.alloc(Integer size,
Buffer fill,
String codec = "utf8");
調用參數:
- size: Integer, 緩衝區的所需長度
- fill: Buffer, 預先填充新緩衝區的值,可使用string/buffer/integer 值類型。默認值:0
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Buffer, 填充好的新Buffer 對象
allocUnsafe
分配一個指定長度的新緩存區。如果大小為0,將創建一個零長度的緩存區。
1static Buffer Buffer.allocUnsafe(Integer size);
調用參數:
- size: Integer, 緩衝區的所需長度
返回結果:
- Buffer, 指定尺寸的新Buffer 對象
allocUnsafeSlow
分配一個指定長度的新緩存區。如果大小為0,將創建一個零長度的緩存區。
1static Buffer Buffer.allocUnsafeSlow(Integer size);
調用參數:
- size: Integer, 緩衝區的所需長度
返回結果:
- Buffer, 指定尺寸的新Buffer 對象
byteLength
返回字符串的實際字節長度
1
2static Integer Buffer.byteLength(String str,
String codec = "utf8");
調用參數:
- str: String, 待取字節的字符串,如果str為ArrayBuffer/TypedArray/DataView/Buffer 對象,則返回它們的實際長度
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Integer, 返回實際字節長度
返回字符串的實際字節長度
1
2static Integer Buffer.byteLength(ArrayBuffer str,
String codec = "utf8");
調用參數:
- str: ArrayBuffer, 待取字節的字符串,如果str為ArrayBuffer/TypedArray/DataView/Buffer 對象,則返回它們的實際長度
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Integer, 返回實際字節長度
返回字符串的實際字節長度
1
2static Integer Buffer.byteLength(ArrayBufferView str,
String codec = "utf8");
調用參數:
- str: ArrayBufferView, 待取字節的字符串,如果str 為ArrayBuffer/TypedArray/DataView/Buffer 對象,則返回它們的實際長度
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Integer, 返回實際字節長度
返回字符串的實際字節長度
1
2static Integer Buffer.byteLength(Buffer str,
String codec = "utf8");
調用參數:
- str: Buffer, 待取字節的字符串,如果str為ArrayBuffer/TypedArray/DataView/Buffer 對象,則返回它們的實際長度
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Integer, 返回實際字節長度
compare
比較buf1 和buf2, 往往用於Buffer 實例之間的排序. 該方式等價於buf1.compare(buf2).
1
2static Integer Buffer.compare(Buffer buf1,
Buffer buf2);
調用參數:
- buf1: Buffer, 待比較的buf
- buf2: Buffer, 待比較的buf
返回結果:
- Integer, 返回比較字節長度
isEncoding
檢測編碼格式是否被支持
1static Boolean Buffer.isEncoding(String codec);
調用參數:
- codec: String, 待檢測的編碼格式
返回結果:
- Boolean, 是否支持
成員屬性
length
Integer, 獲取緩存對象的尺寸
1readonly Integer Buffer.length;
buffer
ArrayBuffer, 以ArrayBuffer 格式返回緩存數據
1readonly ArrayBuffer Buffer.buffer;
成員函數
resize
修改緩存對象尺寸
1Buffer.resize(Integer sz);
調用參數:
- sz: Integer, 指定新尺寸
append
在緩存對象尾部寫入一組二進制數據
1Buffer.append(Buffer data);
調用參數:
- data: Buffer, 初始化二進制數據
在緩存對象尾部寫入字符串,字符串將以utf-8 格式寫入
1
2Buffer.append(String str,
String codec = "utf8");
調用參數:
write
向緩存對象寫入指定字符串,字符串默認為utf-8,越界時只寫入部分數據
1
2
3
4Integer Buffer.write(String str,
Integer offset = 0,
Integer length = -1,
String codec = "utf8");
調用參數:
- str: String, 待寫入的字符串
- offset: Integer, 寫入起始位置
- length: Integer, 寫入長度(單位字節,默認值-1),未指定時為待寫入字符串的長度
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Integer, 寫入的數據字節長度
向緩存對象寫入指定字符串,字符串默認為utf-8,越界時只寫入部分數據
1
2
3Integer Buffer.write(String str,
Integer offset = 0,
String codec = "utf8");
調用參數:
- str: String, 待寫入的字符串
- offset: Integer, 寫入起始位置
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
返回結果:
- Integer, 寫入的數據字節長度
向緩存對象寫入指定字符串,字符串默認為utf-8,越界時只寫入部分數據
1
2Integer Buffer.write(String str,
String codec = "utf8");
調用參數:
返回結果:
- Integer, 寫入的數據字節長度
fill
為Buffer 對象填充指定內容數據
1
2
3Buffer Buffer.fill(Integer v,
Integer offset = 0,
Integer end = -1);
調用參數:
- v: Integer, 需要填充的數據,如果未指定offset 和end,將填充滿整個buffer
- offset: Integer, 填充起始位置
- end: Integer, 填充終止位置
返回結果:
- Buffer, 返回當前Buffer 對象
為Buffer 對象填充指定內容數據
1
2
3Buffer Buffer.fill(Buffer v,
Integer offset = 0,
Integer end = -1);
調用參數:
- v: Buffer, 需要填充的數據,如果未指定offset 和end,將填充滿整個buffer
- offset: Integer, 填充起始位置
- end: Integer, 填充終止位置
返回結果:
- Buffer, 返回當前Buffer 對象
為Buffer 對象填充指定內容數據
1
2
3Buffer Buffer.fill(String v,
Integer offset = 0,
Integer end = -1);
調用參數:
- v: String, 需要填充的數據,如果未指定offset 和end,將填充滿整個buffer
- offset: Integer, 填充起始位置
- end: Integer, 填充終止位置
返回結果:
- Buffer, 返回當前Buffer 對象
indexOf
返回某個指定數據在Buffer 中首次出現的位置
1
2Integer Buffer.indexOf(Integer v,
Integer offset = 0);
調用參數:
- v: Integer, 待查找數據,如果未指定offset,默認從起始位開始
- offset: Integer, 起始查找位置
返回結果:
- Integer, 返回查找到的位置,未找到返回-1
返回某個指定數據在Buffer 中首次出現的位置
1
2Integer Buffer.indexOf(Buffer v,
Integer offset = 0);
調用參數:
- v: Buffer, 待查找數據,如果未指定offset,默認從起始位開始
- offset: Integer, 起始查找位置
返回結果:
- Integer, 返回查找到的位置,未找到返回-1
返回某個指定數據在Buffer 中首次出現的位置
1
2Integer Buffer.indexOf(String v,
Integer offset = 0);
調用參數:
- v: String, 待查找數據,如果未指定offset,默認從起始位開始
- offset: Integer, 起始查找位置
返回結果:
- Integer, 返回查找到的位置,未找到返回-1
compare
比較緩存區的內容
1Integer Buffer.compare(Buffer buf);
調用參數:
- buf: Buffer, 待比較緩存對象
返回結果:
- Integer, 內容比較結果
copy
從源緩存對象區域拷貝數據到目標緩存對象區域
1
2
3
4Integer Buffer.copy(Buffer targetBuffer,
Integer targetStart = 0,
Integer sourceStart = 0,
Integer sourceEnd = -1);
調用參數:
- targetBuffer: Buffer, 目標緩存對象
- targetStart: Integer, 目標緩存對像開始拷貝字節位置,缺省為 0
- sourceStart: Integer, 源緩存對像開始字節位置, 缺省為 0
- sourceEnd: Integer, 源緩存對象結束字節位置, 缺省為-1,表示源數據長度
返回結果:
- Integer, 拷貝的數據字節長度
set
從源緩存對象區域拷貝數據到目標緩存對象區域
1
2Integer Buffer.set(Buffer src,
Integer start);
調用參數:
- src: Buffer, 目標緩存對象
- start: Integer, 源緩存對像開始字節位置
返回結果:
- Integer, 拷貝的數據字節長度
readUInt8
從緩存對象讀取一個8 位無符號整型數值
1Integer Buffer.readUInt8(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readUInt16LE
從緩存對象讀取一個16 位無符號整型數值,以低字節序的存儲方式
1Integer Buffer.readUInt16LE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readUInt16BE
從緩存對象讀取一個16 位無符號整型數值,以高字節序的存儲方式
1Integer Buffer.readUInt16BE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readUInt32LE
從緩存對象讀取一個32 位無符號整型數值,以低字節序的存儲方式
1Long Buffer.readUInt32LE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Long, 返回讀取的整型數值
readUInt32BE
從緩存對象讀取一個32 位無符號整型數值,以高字節序的存儲方式
1Long Buffer.readUInt32BE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Long, 返回讀取的整型數值
readUIntLE
從緩存對象讀取一個無符號整型數值,最大支持64 位,以低字節序的存儲方式
1
2Long Buffer.readUIntLE(Integer offset = 0,
Integer byteLength = 8);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
- byteLength: Integer, 指定讀取的字節數,缺省8 個字節
返回結果:
- Long, 返回讀取的整型數值
readUIntBE
從緩存對象讀取一個無符號整型數值,最大支持64 位,以高字節序的存儲方式
1
2Long Buffer.readUIntBE(Integer offset = 0,
Integer byteLength = 8);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
- byteLength: Integer, 指定讀取的字節數,缺省8 個字節
返回結果:
- Long, 返回讀取的整型數值
readInt64LE
從緩存對象讀取一個64 位整型數值,以低字節序的存儲方式
1Long Buffer.readInt64LE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Long, 返回讀取的整型數值
readInt64BE
從緩存對象讀取一個64 位整型數值,以高字節序的存儲方式
1Long Buffer.readInt64BE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Long, 返回讀取的整型數值
readInt8
從緩存對象讀取一個8 位整型數值
1Integer Buffer.readInt8(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readInt16LE
從緩存對象讀取一個16 位整型數值,以低字節序的存儲方式
1Integer Buffer.readInt16LE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readInt16BE
從緩存對象讀取一個16 位整型數值,以高字節序的存儲方式
1Integer Buffer.readInt16BE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readInt32LE
從緩存對象讀取一個32 位整型數值,以低字節序的存儲方式
1Integer Buffer.readInt32LE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readInt32BE
從緩存對象讀取一個32 位整型數值,以高字節序的存儲方式
1Integer Buffer.readInt32BE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Integer, 返回讀取的整型數值
readIntLE
從緩存對象讀取一個整型數值,最大支持64 位,以低字節序的存儲方式
1
2Long Buffer.readIntLE(Integer offset = 0,
Integer byteLength = 8);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
- byteLength: Integer, 指定讀取的字節數,缺省8 個字節
返回結果:
- Long, 返回讀取的整型數值
readIntBE
從緩存對象讀取一個整型數值,最大支持64 位,以高字節序的存儲方式
1
2Long Buffer.readIntBE(Integer offset = 0,
Integer byteLength = 8);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
- byteLength: Integer, 指定讀取的字節數,缺省8 個字節
返回結果:
- Long, 返回讀取的整型數值
writeInt64LE
向緩存對象寫入一個64 位整型數值,以低字節序的存儲方式
1
2Integer Buffer.writeInt64LE(Long value,
Integer offset = 0);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeInt64BE
向緩存對象寫入一個64 位整型數值,以高字節序的存儲方式
1
2Integer Buffer.writeInt64BE(Long value,
Integer offset = 0);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
readFloatLE
從緩存對象讀取一個浮點數,以低字節序的存儲方式
1Number Buffer.readFloatLE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Number, 返回讀取的浮點數
readFloatBE
從緩存對象讀取一個浮點數,以高字節序的存儲方式
1Number Buffer.readFloatBE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Number, 返回讀取的浮點數
readDoubleLE
從緩存對象讀取一個雙精度浮點數,以低字節序的存儲方式
1Number Buffer.readDoubleLE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Number, 返回讀取的雙精度浮點數
readDoubleBE
從緩存對象讀取一個雙精度浮點數,以高字節序的存儲方式
1Number Buffer.readDoubleBE(Integer offset = 0);
調用參數:
- offset: Integer, 指定讀取的起始位置,缺省為 0
返回結果:
- Number, 返回讀取的雙精度浮點數
writeUInt8
向緩存對象寫入一個8 位無符號整型數值
1
2Integer Buffer.writeUInt8(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeUInt16LE
向緩存對象寫入一個16 位無符號整型數值,以低字節序的存儲方式
1
2Integer Buffer.writeUInt16LE(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeUInt16BE
向緩存對象寫入一個16 位無符號整型數值,以高字節序的存儲方式
1
2Integer Buffer.writeUInt16BE(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeUInt32LE
向緩存對象寫入一個32 位無符號整型數值,以低字節序的存儲方式
1
2Integer Buffer.writeUInt32LE(Long value,
Integer offset = 0);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeUInt32BE
向緩存對象寫入一個32 位無符號整型數值,以高字節序的存儲方式
1
2Integer Buffer.writeUInt32BE(Long value,
Integer offset = 0);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeUIntLE
向緩存對象寫入一個無符號整型數值,最大支持64 位,以低字節序的存儲方式
1
2
3Integer Buffer.writeUIntLE(Long value,
Integer offset = 0,
Integer byteLength = 8);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
- byteLength: Integer, 指定寫入的字節數,缺省8 個字節
返回結果:
- Integer, offset 加上寫入的字節數
writeUIntBE
向緩存對象寫入一個無符號整型數值,最大支持64 位,以高字節序的存儲方式
1
2
3Integer Buffer.writeUIntBE(Long value,
Integer offset = 0,
Integer byteLength = 8);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
- byteLength: Integer, 指定寫入的字節數,缺省8 個字節
返回結果:
- Integer, offset 加上寫入的字節數
writeInt8
向緩存對象寫入一個8 位整型數值
1
2Integer Buffer.writeInt8(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeInt16LE
向緩存對象寫入一個16 位整型數值,以低字節序的存儲方式
1
2Integer Buffer.writeInt16LE(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeInt16BE
向緩存對象寫入一個16 位整型數值,以高字節序的存儲方式
1
2Integer Buffer.writeInt16BE(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeInt32LE
向緩存對象寫入一個32 位整型數值,以低字節序的存儲方式
1
2Integer Buffer.writeInt32LE(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeInt32BE
向緩存對象寫入一個32 位整型數值,以高字節序的存儲方式
1
2Integer Buffer.writeInt32BE(Integer value,
Integer offset = 0);
調用參數:
- value: Integer, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeIntLE
向緩存對象寫入一個整型數值,最大支持64 位,以低字節序的存儲方式
1
2
3Integer Buffer.writeIntLE(Long value,
Integer offset = 0,
Integer byteLength = 8);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
- byteLength: Integer, 指定寫入的字節數,缺省8 個字節
返回結果:
- Integer, offset 加上寫入的字節數
writeIntBE
向緩存對象寫入一個整型數值,最大支持64 位,以高字節序的存儲方式
1
2
3Integer Buffer.writeIntBE(Long value,
Integer offset = 0,
Integer byteLength = 8);
調用參數:
- value: Long, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
- byteLength: Integer, 指定寫入的字節數,缺省8 個字節
返回結果:
- Integer, offset 加上寫入的字節數
writeFloatLE
向緩存對象寫入一個浮點數,以低字節序的存儲方式
1
2Integer Buffer.writeFloatLE(Number value,
Integer offset);
調用參數:
- value: Number, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeFloatBE
向緩存對象寫入一個浮點數,以高字節序的存儲方式
1
2Integer Buffer.writeFloatBE(Number value,
Integer offset);
調用參數:
- value: Number, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeDoubleLE
向緩存對象寫入一個雙精度浮點數,以低字節序的存儲方式
1
2Integer Buffer.writeDoubleLE(Number value,
Integer offset);
調用參數:
- value: Number, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
writeDoubleBE
向緩存對象寫入一個雙精度浮點數,以高字節序的存儲方式
1
2Integer Buffer.writeDoubleBE(Number value,
Integer offset);
調用參數:
- value: Number, 指定寫入的數值
- offset: Integer, 指定寫入的起始位置
返回結果:
- Integer, offset 加上寫入的字節數
slice
返回一個新緩存對象,包含指定起始到緩存結尾的數據
1Buffer Buffer.slice(Integer start = 0);
調用參數:
- start: Integer, 指定範圍的起始,缺省從頭開始
返回結果:
- Buffer, 返回新的緩存對象
返回一個新緩存對象,包含指定範圍的數據,若範圍超出緩存,則只返回有效部分數據
1
2Buffer Buffer.slice(Integer start,
Integer end);
調用參數:
- start: Integer, 指定範圍的起始
- end: Integer, 指定範圍的結束
返回結果:
- Buffer, 返回新的緩存對象
join
把當前對像中的所有元素放入一個字符串
1String Buffer.join(String separator = ",");
調用參數:
- separator: String, 分割字符,缺省為","
返回結果:
- String, 返回生成的字符串
reverse
返回一個新緩存對象,包含當前對像數據的倒序
1Buffer Buffer.reverse();
返回結果:
- Buffer, 返回新的緩存對象
equals
比較當前對象與給定的對像是否相等
1Boolean Buffer.equals(object expected);
調用參數:
- expected: object, 制定比較的目標對象
返回結果:
- Boolean, 返回對像比較的結果
hex
使用16 進制編碼緩存對象內容
1String Buffer.hex();
返回結果:
- String, 返回編碼字符串
base64
使用 base64 編碼緩存對象內容
1String Buffer.base64();
返回結果:
- String, 返回編碼字符串
keys
返回全部二進制數據的數組
1Iterator Buffer.keys();
返回結果:
- Iterator, 返回包含對像數據索引的迭代器
values
返回全部二進制數據的數組
1Iterator Buffer.values();
返回結果:
- Iterator, 返回包含對像數據值的迭代器
entries
返回包含對像數據[index, byte] 對的迭代器
1Iterator Buffer.entries();
返回結果:
- Iterator, [index, byte] 對的迭代器
toArray
返回全部二進制數據的數組
1Array Buffer.toArray();
返回結果:
- Array, 返回包含對像數據的數組
toString
返回二進制數據的編碼字符串
1
2
3String Buffer.toString(String codec,
Integer offset = 0,
Integer end);
調用參數:
- codec: String, 指定編碼格式,允許值為:"hex", "base64", "utf8", 或者 iconv 模塊支持的字符集
- offset: Integer, 讀取起始位置
- end: Integer, 讀取終止位置
返回結果:
- String, 返回對象的字符串表示
返回二進制數據的編碼字符串
1
2String Buffer.toString(String codec,
Integer offset = 0);
調用參數:
返回結果:
- String, 返回對象的字符串表示
返回二進制數據的utf8 編碼字符串
1String Buffer.toString();
返回結果:
- String, 返回對象的字符串表示
返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現
1String Buffer.toString();
返回結果:
- String, 返回對象的字符串表示
toJSON
返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合
1Value Buffer.toJSON(String key = "");
調用參數:
- key: String, 未使用
返回結果:
- Value, 返回包含可JSON 序列化的值