byte-data.js 685 B

123456789101112131415161718192021222324252627282930
  1. const encodeUtf8 = require('encode-utf8')
  2. const Mode = require('./mode')
  3. function ByteData (data) {
  4. this.mode = Mode.BYTE
  5. if (typeof (data) === 'string') {
  6. data = encodeUtf8(data)
  7. }
  8. this.data = new Uint8Array(data)
  9. }
  10. ByteData.getBitsLength = function getBitsLength (length) {
  11. return length * 8
  12. }
  13. ByteData.prototype.getLength = function getLength () {
  14. return this.data.length
  15. }
  16. ByteData.prototype.getBitsLength = function getBitsLength () {
  17. return ByteData.getBitsLength(this.data.length)
  18. }
  19. ByteData.prototype.write = function (bitBuffer) {
  20. for (let i = 0, l = this.data.length; i < l; i++) {
  21. bitBuffer.put(this.data[i], 8)
  22. }
  23. }
  24. module.exports = ByteData