Удивительно (для меня), этот код не делает то, что я хочу:
fun ByteArray.toHexString() : String {
return this.joinToString("") { it.toString(16) }
}
Оказывается, Byte
имеет значение со знаком , поэтому вы получаете отрицательные шестнадцатеричные представления для отдельных байтов, что приводит к полностью фиктивному конечному результату.
Кроме того, Byte.toString
не будет дополнять начальные нули, которые вы бы хотели здесь.
Что является самым простым (без дополнительных библиотек, в идеале без расширений), соотв. наиболее эффективное исправление?