TransWikia.com

C# WPF: byte[] to Uri

Stack Overflow на русском Asked by GeekProgrammer on February 18, 2021

Я создаю архиватор с помощью записи файлов (в виде base64) в файл построчно. В программе также встроена возможность предпросмотра содержимого архива. Элементом просмотра выступает MediaElement. В процессе преобразования я сначала конвертирую base64 в byte[], а после – byte[] в Uri. Однако, при попытке конвертировать byte[] в Uri я получаю исключение : слишком длинная строка Uri. Вот код, который я использую.

Uri ByteArrToUri(byte[] arr)
{
    return new Uri(Encoding.UTF8.GetString(arr));
}

Есть ли способы исправить это, или другие варианты конвертации byte[] в Uri?

One Answer

Судя по всему, у вас в массиве байты не самой строки, а base64, в этом случае, вам надо сначала выполнить преобразование в байты строки.

Uri ByteArrToUri(byte[] arr)
{
    string base64 = Encoding.UTF8.GetString(arr);
    byte[] bytes = Convert.FromBase64String(base64);
    return new Uri(Encoding.UTF8.GetString(bytes));
}

Answered by aepot on February 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP