Uhu Frank,
IPAddress"=hex7):31,00,39,00,32,00,2e,00,31,00,36,00,38,00,2e,00,36,00,39,00,\
2e,00,33,00,30,00,00,00,00,00
hier bei lautet die IP Adresse 192.168.69.30
wie kann ich dieses entschlüsseln ?
mit einer ASCII-Tabelle, z.B. dieser:
http://www.torsten-horn.de/techdocs/ascii.htm
Warum zur Hoelle speichert man denn eine IP# in einer
strukturierten Datenbank als *Text* im Unicode ab?! Und dann
auch noch _mit_ Punkten! Kann das Ding nur Unicode-Elemente?
Wie wir wissen ist eine IP eigentlich ein 32-Bit Wert.
Jetzt gibt es das Problem, dass sich physikalisch dieser aus 4 Byte bestehende Wert unterschiedlich abspeichern lässt (Stichwort: Little/Big-Endian bei 16-Bit, bei 32-Bit gibt es schon 4 Varianten).
Dass die IP traditionell immer noch in dezimaler Form, Hexadezimal ist ja eine ALternative, hat vor allen historische Gründe, welche in der Welt der Grossrechner begründet liegt (genauso wie Oktal).
Als MS angefangen hat, auch für andere CPUs Programme zu entwickeln, hatte man das Problem, dass man nicht mehr einfach den Speicherinhalt 1:1 irgendwo ablegen konnte (Intel speichert ja Low-Hight-Byte, Motorola Hight-Low-Byte). Also verfielen manche Programmierer darauf Zahlen als Strings zu speichern und das Problem so zu umgehen. Die Umwandlung funktioniert z.B. in C recht einfach:
printf("%d.%d.%d.%d", IP1, IP2, IP3, IP4);
scanf("%d.%d.%d.%d", &IP1, &IP2, &IP3, &IP4);
Der nächste Schritt von MS war dann Unicode zu übernehmen, was Grundsätzlich auch vernünftig ist weil er bei Unterstützung von mehr als nur Englisch seine Vorteile hat.
Wenn man eine C-Bibliothek mit Unicode Unterstützung verwendet, ändert sich an printf()/pcanf() im Source-Code gar nichts, aber es werden halt 2-Byte pro Zeichen abgespeichert.
Du kennst ja sicher noch die Probleme mit ASCII- und DIN-Zeichentabellen, wenns beim AUsdruck von Programmen nur noch von Umlauten anstelle von „[]{}“ wimmelt…
Somit kommt halt das zu Stande was du da oben hingeschrieben hast.
Dass in der Registry ein REG_MULTI_SZ verwendet wurde, weiss ich auch nicht. Vielleicht wollte man IP und Subnetmaske zusammen abspeichern ?
MfG Peter(TOO)