fun removeTrailingNulls(byteArray: ByteArray): ByteArray {
val lastNonNullIndex = byteArray.indexOfLast { it != 0.toByte() }
return if (lastNonNullIndex == -1) byteArrayOf() else byteArray.copyOfRange(0, lastNonNullIndex + 1)
}
fun main() {
val byteArray = byteArrayOf(1, 2, 3, 0, 0, 0, 0)
val trimmedArray = removeTrailingNulls(byteArray)
println(trimmedArray.joinToString())
}
/*
run:
1, 2, 3
*/