• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen

Noahscript

Noahscript

Aktives Mitglied
Hallo zusammen,

ich habe ein byte Array, der eine Nachricht hat und auf eine Farbe der Nachricht hinweist:

Java:
new byte[]{3, 48, 51, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100};

Die Nachricht lautet Hello world.

Und um die Farbe der Nachricht mitzuteilen, bestehen die ersten drei bytes (3, 48, 51) aus dem Steuerzeichen (ich glaube es ist dieses Steuerungs-Key --> ^B) und dem Code 303 (in diesem Fall Farbe grün).

Ich möchte den Hex des Steuerzeichens (das wäre '\x02') und den Code bekommen (und mit dem entsprechenden HTML Farbe Tag ersetzen).

Wenn ich Folgendes versuche:
Java:
new String(new byte[]{3, 48, 51, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100});

Bekomme ich:
Code:
03Hello world

Ich möchte stattdessen das hier bekommen:

Code:
\x02303Hello world

Damit ich "\x02303" später durch zum Beispiel das hier ersetzen kann: <font color="green">

Wie kann ich dann den Hex eines Steuerungszeichen bekommen?
Und Warum bekomme ich 03 statt den Code 303?


LG und vielen Dank
 
mihe7

mihe7

Top Contributor
Und um die Farbe der Nachricht mitzuteilen, bestehen die ersten drei bytes (3, 48, 51) aus dem Steuerzeichen (ich glaube es ist dieses Steuerungs-Key --> ^B) und dem Code 303 (in diesem Fall Farbe grün).
Erst mal sind das drei Bytes mit den Werten 3, 48 und 51. Wenn man hier z. B. einen ASCII-Zeichensatz unterstellt (oder z. B. auch UTF-8), dann kodiert die 3 das Steuerzeichen ETX (End of TeXt), die 48 das Zeichen '0' und die 51 eben das Zeichen '3'. Wenn Du daraus einen String erzeugst, resultiert das eben in "<ETX>03", weswegen Du "03" am Anfang ausgegeben bekommst.

Problem: der Aufbau der Nachricht passt nicht zum Rest Deiner Beschreibung.

Unabhängig davon kannst Du ein Byte oder ein Zeichen in Hex darstellen lassen: String.format("\\x%02x", (int)'A') würde z. B. zu \x41 führen.
 
Noahscript

Noahscript

Aktives Mitglied
Danke für deine Hilfe, @mihe7 !!!!!

Weißt wo das Problem lag?

Der Chat-Server empfängt das Steuerzeichen STX mit dem Code 303 und interpretiert das als grün. Aber er interpretiert auch das Steuerzeichen ETX mit dem Code 03 als grün. Ich dachte er interpretiert nur die erste Variante als grün. Und bis du mir geholfen hast wäre ich nie auf die Idee gekommen, das zu senden was ich empfange 🤦‍♂️.

Wenn jemand es gebrauchen kann, kann man damit den Hex eines Strings bekommen:
Java:
String s = new String(new byte[] {3, 48, 51});//oder auch so --> String s = "Hallo welt";
String s2 = "";
for(int f=0; f<s.length(); f++){
   s2 = s2 + String.format("\\x%02x",(int)s.charAt(f));
}

Ich weiß, vielleicht sollte man das mit StringBuffer machen. Aber ich habe es nur für ein Schnelltest gebraucht...


Vielen Dank nochmals und Grüße
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R In einem Byte-Array nach einer gewissen Zahlenfolge suchen Allgemeine Java-Themen 7
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
T BufferedImage aus einem byte-Array? Allgemeine Java-Themen 2
F byte[] aus einem BufferedImage Allgemeine Java-Themen 3
G Byte- List mit einem Iterator durchlaufen Allgemeine Java-Themen 5
M Vector zu einem byte[] Allgemeine Java-Themen 5
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
Tobero Wie bekomme ich in welchem Quadrat sich eine Position in einem Grid befindet Allgemeine Java-Themen 11
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
Zrebna DeleteNode-Funktionalität in einem AVL-Tree Allgemeine Java-Themen 5
pkm Warnungen in einem Drools-Projekt unterdrücken? Allgemeine Java-Themen 1
D Arbeiten mit einem Bitarray Allgemeine Java-Themen 13
D Union in einem Struct in JNA Allgemeine Java-Themen 5
N Apache POI/ neue Reihe in Excel mit einem Button Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
R Zoom In einem grid Allgemeine Java-Themen 0
M java.io.EOFException bei einem DataoutputStream ?! Allgemeine Java-Themen 2
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Fahrtsimulation von einem Zug Allgemeine Java-Themen 0
A 2D-Grafik Einfachster Ansatz, um sich wiederholende Figur in einem 2D-Image zu erkennen Allgemeine Java-Themen 1
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
J Suchen von einer Scannereingabe in einem HashSet Allgemeine Java-Themen 1
L Input/Output Kassenzettel lesen aus einem Bild Allgemeine Java-Themen 2
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
K Bild in einem anderen Bild suchen Allgemeine Java-Themen 12
B Problem zu einem Java Projekt Allgemeine Java-Themen 6
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
B Suche nach einem Testprogramm für meine BA Allgemeine Java-Themen 0
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
R Farbe zu einem Eckpunkt generieren Allgemeine Java-Themen 0
C Logfile upload zu einem externen filezilla sftp server Allgemeine Java-Themen 6
X Punkte in einem Feld bestimmen Allgemeine Java-Themen 22
H Laden einer (Resourcendatei) aus einem Jar-File Allgemeine Java-Themen 17
J In einem Set doppelte Elemente erzeugen Allgemeine Java-Themen 4
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
S Algorithmus welcher True-Werte in einem Array findet und auswertet. Allgemeine Java-Themen 5
R Index in einem Array löschen Allgemeine Java-Themen 10
R Index in einem Array löschen Allgemeine Java-Themen 2
4 Swing Durch klicken auf Button Labels einem Panel hinzufügen Allgemeine Java-Themen 4
The Pi Wie oft wird ein Buchstabe in einem Wort wiederholt? Allgemeine Java-Themen 16
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
K Classpath Alle Classen aus einem Package lesen Allgemeine Java-Themen 7
K Auf einer Website nach einem String suchen Allgemeine Java-Themen 5
P Zwei Applikationen mit einem Job Allgemeine Java-Themen 0
Sin137 OOP Auf JPanel zugreifen, das einem JTabbePane hinzugefügt worden ist Allgemeine Java-Themen 10
E Die if-Anweisung in einer Java Bean bzw. in einem Servlet? Allgemeine Java-Themen 8
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
F Wie kann ich auf einem System prüfen, ob eine lib verfügbar ist? Allgemeine Java-Themen 2
M Ein Programm das nur von einem bestimmten Programm geöffnet werden kann Allgemeine Java-Themen 7
H Klammerberechnungen bei einem Taschenrechner Allgemeine Java-Themen 2
S Kann man mit einem GeneralPath.curveTo ein GeneralPath.quadTo ersetzen..? Allgemeine Java-Themen 2
Seikuassi Alle Escape-Sequenzen in einem String ersetzen Allgemeine Java-Themen 4
S Rekursive Suche in einem Netz Allgemeine Java-Themen 5
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
T Schlüsselworte mehrere public-Klassen in einem Paket Allgemeine Java-Themen 7
M Zeilen zu einem DefaultTableModel hinzufügen Allgemeine Java-Themen 1
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5
Thallius PDF von einem BufferedImage erstellen Allgemeine Java-Themen 1
M Abonnentenzahl, Aufrufe, etc. von einem YouTube-Kanal anzeigen Allgemeine Java-Themen 7
B Fehler bei einem Programm Allgemeine Java-Themen 10
E am häufigsten vorkommenden Farben aus einem Bild Allgemeine Java-Themen 5
C Threads Variablen in einem Thread Aktualisieren Allgemeine Java-Themen 17
F Punkte in einem Bild finden Allgemeine Java-Themen 10
M Eclipse Eine xhtml aus einem JSF Projekt starten Allgemeine Java-Themen 2
M String an einem abschnitt ändern Allgemeine Java-Themen 14
I Zu zweit an einem Projekt? Allgemeine Java-Themen 1
S Methoden Stunden seit einem bestimmten Zeitpunkt Allgemeine Java-Themen 3
D Problem mit Login in einem Dynamischen Webprojekt Allgemeine Java-Themen 1
D Grafisches Frontend zu einem Java Prozess erstellen Allgemeine Java-Themen 0
S Panel zur Dateiendarstellung wie in einem Explorer Allgemeine Java-Themen 12
K Code zu einem Projekt entschluesseln Allgemeine Java-Themen 15
J Ist eine Instanz von einem bestimmten Object Typ? Allgemeine Java-Themen 6
M Lichteffekte in einem Java-Spiel Allgemeine Java-Themen 4
A Auswahl eines JEditorPane das Sich in einem JScrollPanel Befindet Allgemeine Java-Themen 2
S Android: Verlinkung in einem TextView Allgemeine Java-Themen 3
Minonos Einem Programm Zugriff auf bestimmte Ordner geben Allgemeine Java-Themen 5
F Funktion nur in einem Zeitraum Allgemeine Java-Themen 5
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
J Datentypen Verständnisprobleme bei einem Quelltext Allgemeine Java-Themen 32
I Sound abspielen aus einem Sample-Array Allgemeine Java-Themen 2
S Entfernen von allen Nicht-Buchstaben chars aus einem String ohne Regex..? Allgemeine Java-Themen 10
D IP / Domain in einem String erkennen Allgemeine Java-Themen 2
SexyPenny90 Spalte einer Exceldatei in einem String speichern Allgemeine Java-Themen 11
K Quadrat in einem Bild erkennen Allgemeine Java-Themen 33
P ganze Zeilen in einem File mit .replace() ändern. Allgemeine Java-Themen 10
P Aus einem File Zeilen auslesen. Allgemeine Java-Themen 15
M Ein bestimmtes Wort in einem Text zählen (String in String) Allgemeine Java-Themen 9
A runnable jar läuft mur auf einem pc1 und nicht auf pc2 Allgemeine Java-Themen 6
P Einzelnen String aus einem String Array rausholen Allgemeine Java-Themen 3
R Bewerbung in einem Entwicklerstudio Allgemeine Java-Themen 28
F Groovy Erkennen geometrischer Formen in einem Kantenbild Allgemeine Java-Themen 4
P Eclipse Gemeinsam mit NetBeans an einem Projekt arbeiten? Allgemeine Java-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben