package com.nhnkcp.verifonepossample.utils

import java.io.ByteArrayOutputStream
import kotlin.experimental.or
import kotlin.experimental.xor

object ByteUtils {
    fun ByteArrayOutputStream.write(text: String) {
        this.write(text.toByteArray())
    }

    fun ByteArrayOutputStream.write(vararg bytes: Byte)  {
        this.write(bytes, 0, bytes.size)
    }

    fun Int.toTwoByteArray(): ByteArray {
        return byteArrayOf(
            (this shr 8).toByte(), // 상위 바이트
            (this and 0xFF).toByte() // 하위 바이트
        )
    }

    // 단말연동 통신 시, LRC 체크
    fun getLRC(data: ByteArray, length: Int): Byte {
        var returnLrc: Byte = 0
        for (i in 1 until length)
            returnLrc = returnLrc xor data[i]
        return returnLrc or 0x20.toByte()
    }
}
