Avatar billede the_fox Nybegynder
20. marts 2009 - 12:32 Der er 5 kommentarer og
1 løsning

konvertere fra string til byte

Hej med jer!

Jeg har lidt problemer med at konvertere denne streng til byte array:

Haves:
string mac_adr = "02:00:00:D0:CE:92";

Ønskes:
byte[] mac_adr = new byte[] {0x02,0x00,0x00,0xD0,0xCE,0x92};

Jeg har prøvet at splitte strengen ved hvert : (kolon), men derefter kan jeg ikke konvertere fra streng til byte... :(

Er der nogen som har et godt forslag?

Mvh Ole
Avatar billede bitmatic Nybegynder
20. marts 2009 - 13:27 #1
byte b = byte.Parse("CE", System.Globalization.NumberStyles.AllowHexSpecifier);
Avatar billede bitmatic Nybegynder
20. marts 2009 - 13:32 #2
eller.....

string mac_adr = "02:00:00:D0:CE:92";
string[] bytes = mac_adr.Split(':');

List<byte> list = new List<byte>(bytes.Length);

foreach (string s in bytes)
{
  list.Add(byte.Parse(s, System.Globalization.NumberStyles.AllowHexSpecifier));
}
     
byte[] mac_adr_arr = list.ToArray();
Avatar billede arne_v Ekspert
20. marts 2009 - 14:20 #3
Hvis man er paa 3.5 og har hang til meget kompakt kode kan man lave det samme med:

string macs = "02:00:00:D0:CE:92";
byte[] macb = macs.Split(':').Select((s) => byte.Parse(s, System.Globalization.NumberStyles.AllowHexSpecifier)).ToArray();
Avatar billede the_fox Nybegynder
20. marts 2009 - 15:02 #4
Tak for svar!

Jeg bruger SharpDevelop 1.1.

Og har tilsyneladende ikke System.Collections.Generic; hvori "List" ligger.

Kan det gøres på en anden måde? Jeg er ikke så skarp til array-konvertering. :(

Mvh Ole
Avatar billede bitmatic Nybegynder
20. marts 2009 - 15:14 #5
ja.



string mac_adr = "02:00:00:D0:CE:92";
string[] bytes = mac_adr.Split(':');
byte[] mac_adr_arr = new byte[bytes.Length];

for (int i = 0; i < bytes.Length; i++)
{
  mac_adr_arr[i] = byte.Parse(bytes[i], System.Globalization.NumberStyles.AllowHexSpecifier);
}
Avatar billede the_fox Nybegynder
20. marts 2009 - 15:54 #6
Ahaa! Verdensklasse! Det var jo lige det der skulle til :)

Mange tak for hjælpen!
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