Avatar billede spritzer Nybegynder
15. august 2009 - 22:28 Der er 4 kommentarer

Byte[] i string til Byte[]

Davs, har noget her jeg selv syntes burde have været ret simpelt men...

Jeg har en fil jeg smækker over i et byte[], og derefter gemmer i et XML dokument. Samtiddigt har jeg så en classe som værdierne fra XML dokumentet bliver læst over i.

public class Image
    {
        public int ID { get; set; }
        public byte[] ImageBytes { get; set; }
    }

Jeg bruger følgende metode til at læse min XML elementer over i en List<>

XDocument xDoc = XDocument.Load("Images.data");
                var xmlS = (from s in xDoc.Descendants("Image")
                            select new T.Items.Image
                            {
                                ID = int.Parse(s.Element("ID").Value.ToString()),
                                ImageBytes = BitConverter.GetBytes(uint.Parse(s.Element("ImageBytes").Value.ToString())),
                            });

                foreach (T.Items.Image item in xmlS)
                {
                    //T.Items.Image Image = new T.Items.Image { SpiderID =
                    //MyList.Add(item);
                }

Og der er så her:
ImageBytes = BitConverter.GetBytes(uint.Parse(s.Element("ImageBytes").Value.ToString())),

At den begynder at skabe sig :) - Er der en måde, hvor på at jeg kan få min string "14-DA-B9-A3-6D-5F-D6-90 osv..." over i min ImageBytes der er af type byte[]

Håber en eller anden har et bud
Avatar billede arne_v Ekspert
15. august 2009 - 22:55 #1
Demo:

using System;
using System.Globalization;

namespace E
{
    public class Program
    {
        public static byte[] FromHex(string s)
        {
            byte[] ba = new byte[(s.Length+1)/3];
            for(int i = 0; i < ba.Length; i++)
            {
                ba[i] = byte.Parse(s.Substring(3 * i, 2), NumberStyles.HexNumber);
            }
            return ba;
        }
        public static void Main(string[] args)
        {
            string s = "14-DA-B9-A3-6D-5F-D6-90";
            Console.WriteLine(s);
            byte[] ba = FromHex(s);
            string s2 = BitConverter.ToString(ba);
            Console.WriteLine(s2);
            Console.ReadKey();
        }
    }
}
Avatar billede spritzer Nybegynder
16. august 2009 - 10:31 #2
Den sad lige i skabet, tak!
Avatar billede arne_v Ekspert
16. august 2009 - 15:15 #3
så smider jeg et svar
Avatar billede arne_v Ekspert
13. september 2009 - 02:40 #4
så mangler du bare at acceptere svaret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester