Feedback

IP Adresse in ByteArray

Sprache: C#

Wandelt eine durch Punkt getrennte IP in einen ByteArray
//z.B. Value = "192.168.1.1";
private byte[] IpToByteArray(string Value)
{
    string[] Temp = Value.Split('.');
    int Length = Temp.Length;
    byte[] Rueckgabe = new byte[Length];
    for (int i = 0; i < Length; i++)
    {
        Rueckgabe[i] = Convert.ToByte(Convert.ToInt32(Temp[i]));
    }
    return Rueckgabe;
}
//z.B. Value = "192.168.1.1";
private byte[] IpToByteArray(string Value)
{
    string[] Temp = Value.Split('.');
    int Length = Temp.Length;
    byte[] Rueckgabe = new byte[Length];
    for (int i = 0; i < Length; i++)
    {
        Rueckgabe[i] = Convert.ToByte(Convert.ToInt32(Temp[i]));
    }
    return Rueckgabe;
}

2 Kommentare

  1. [code]Rueckgabe[i] = Convert.ToByte(Temp[i]); [/code]

    Wäre nicht ausreichend gewesen das Hexadezimal eine String 1 ander ist als eine Integer 1.
    Aus einer String eins wird eine 31 gemacht und aus eine Integer 1 wirkliche eine 1.

    Gruß Linoge

  2. Oha, wie wäre es denn mit
    [code]
    String IP = „127.0.0.1“;
    IPAddress _IP;
    IPAddress.TryParse(IP, out _IP);
    byte[] AdrBuffer = _IP.GetAddressBytes();
    [/code]
    das würde ich etwas „eleganter“ finden…