Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich hab folgendes problem:
und zwar muss ich hexadezimalzahlen per udp an einen server übermitteln.
z.b. muss ich da angeben wie lang ein bestimmter text sein soll z.b. 9. Nach ewigem hin und her bin ich drauf gekommen das wenn ich einfach die 9 übermittele er nicht die neun sondern die 39, sprich den hexa wert.
also muss ich die hexa 9 übermitteln. ich weiss nur leider nicht wie ich die hexa 9 in einen string packe bzw. in das byte array rein, ohne das java das als String erkennt und in hexa umwandelt.
wieso sendest du nicht den Originalstring, läßt Java den zu 'Hexa' machen?
musst du nicht nur die Länge separat ausrechnen und irgendwo angeben?
Java:
public class Test {
public static void main(String[] args) {
String st = "9";
StringBuilder b = new StringBuilder();
for (char c : st.toCharArray()) {
int ascii = (int)c;
String hex = Integer.toHexString(ascii);
// wenn das tausendfach passiert, dann vielleicht für die wenigen
// normalen chars ein Array anlegen, statt immer wieder neue
// gleiche Strings zu berechnen
b.append(hex);
}
System.out.println("b: " + b + ", " + b.length());
}
}
ne ich wollte ja das der die 9 als zahl übergibt. doch jedesmal wenn ich die neun in den string und schliesslich ins byte array schreibe macht er daraus die 39 wenn ich mich nicht irre. kann auch sein das er daruas was anderes macht jedenfalls kommt es nicht so an wie es soll
39 ist doch nur eine Interpretation, ein String "9" entspricht genau dieser Folge von Bits und Bytes 101110101blahblahblah,
dagegen kannst du nichts machen, das ist normal
wenn du ein byte 9 senden willst, dann mach da, das hat aber mit einem String "9" nichts mehr zu tun,
und wenn die Gegenseite versucht, die bytes als String zu interpretieren, kommen da komische Steuerzeichen raus
wenn du ein byte 9 senden willst, dann mach da, das hat aber mit einem String "9" nichts mehr zu tun,
und wenn die Gegenseite versucht, die bytes als String zu interpretieren, kommen da komische Steuerzeichen raus
es ist genau andersrum ich muss das steuerzeichen angeben damit der server daraus die 9 macht.
ich hab jetzt noch ne möglichkeit gefunden die werde ich morgen mal ausprobieren.