byte-data.js 675 B

123456789101112131415161718192021222324252627282930
  1. const Mode = require('./mode')
  2. function ByteData (data) {
  3. this.mode = Mode.BYTE
  4. if (typeof (data) === 'string') {
  5. this.data = new TextEncoder().encode(data)
  6. } else {
  7. this.data = new Uint8Array(data)
  8. }
  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