#kotlin #byte #bitstring
#kotlin #байт #битовая строка
Вопрос:
У меня есть ArrayList байтов. Во-первых, когда я их печатаю, я вижу целые числа? И второе, я хочу преобразовать каждый байт в битовую строку и добавить его в новый список битовых строк. Как мне это сделать, если нет «i.toBitString»?
fun preprocessing() {
val userInput = readLine()
val charset = Charsets.UTF_8
val bytearray = userInput?.toByteArray()
var bitsets = ArrayList<BitSet>()
if (bytearray != null) {
// for(i in bytearray){
// bitsets.add(i.toBitset?)}
}
}
предварительная обработка()
Ответ №1:
Вы можете преобразовать в любую базу с помощью этого метода, в вашем случае это должно сработать:
val userInput = "potatoes"
val bytearray = userInput.toByteArray(Charsets.UTF_8)
val bitsets = ArrayList<String>()
for (i in bytearray) {
bitsets.add(i.toString(2))
}
bitsets.forEach { println(it) }
вот документы:
/**
* Returns a string representation of this [Byte] value in the specified [radix].
*
* @throws IllegalArgumentException when [radix] is not a valid radix for number to string conversion.
*/
@SinceKotlin("1.1")
@kotlin.internal.InlineOnly
public actual inline fun Byte.toString(radix: Int): String = this.toInt().toString(checkRadix(radix))