31 lines
685 B
JavaScript
31 lines
685 B
JavaScript
const encodeUtf8 = require('encode-utf8')
|
|
const Mode = require('./mode')
|
|
|
|
function ByteData (data) {
|
|
this.mode = Mode.BYTE
|
|
if (typeof (data) === 'string') {
|
|
data = encodeUtf8(data)
|
|
}
|
|
this.data = new Uint8Array(data)
|
|
}
|
|
|
|
ByteData.getBitsLength = function getBitsLength (length) {
|
|
return length * 8
|
|
}
|
|
|
|
ByteData.prototype.getLength = function getLength () {
|
|
return this.data.length
|
|
}
|
|
|
|
ByteData.prototype.getBitsLength = function getBitsLength () {
|
|
return ByteData.getBitsLength(this.data.length)
|
|
}
|
|
|
|
ByteData.prototype.write = function (bitBuffer) {
|
|
for (let i = 0, l = this.data.length; i < l; i++) {
|
|
bitBuffer.put(this.data[i], 8)
|
|
}
|
|
}
|
|
|
|
module.exports = ByteData
|