Преобразовать из строки ByteArray в строку - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь преобразовать строку в UTF-8 и сохранить ее в общих настройках, но после получения ее значения я не могу преобразовать строку, содержащую байтовый массив, в строку

var myString ="hello world"
var bytes :ByteArray = myString.toUtf8Bytes()    

value of Bytes // [104, 101, 108, 108, 111, 32, 109, 121, 32, 119, 111, 114, 108, 100]

var result :String =   bytes.contentToString()

value of result // "[104, 101, 108, 108, 111, 32, 109, 121, 32, 119, 111, 114, 108, 100]"

Как получить значение myString из результата?

заранее спасибо

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Я нашел ответ здесь, ошибка была в способе хранения данных в общих настройках и в способе получить их из строки:

Хранение ByteArray в sharedPreferences

0 голосов
/ 25 марта 2020

Вы можете использовать String(byteArray) для преобразования ByteArray в 'String' в kotlin

    val str = "hello world."
    val byte = str.toByteArray(Charsets.UTF_8)
    val newStr = String(byte)
    assert(str == newStr)
...