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
 | 
