Also ich habe das Problem gefunden. Folgender Code läuft korrekt, denn
String a="%221,%222,%223,%224,%225";
String b=a;
String c=a;
String d=a;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println(a);
a.replace("%",""); Serial.println(a);
b.replace("%2",""); Serial.println(b);
c.replace("%22",""); Serial.println(c);
}
void loop() {
// put your main code here, to run repeatedly:
}
liefert korrekter Weise:
%221,%222,%223,%224,%225
221,222,223,224,225
21,22,23,24,25
1,2,3,4,5
ABER!!!
Dieser Code mit einer eingefügten %20 statt %22
String a="%221,%202,%223,%224,%225";
String b=a;
String c=a;
String d=a;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println(a);
a.replace("%",""); Serial.println(a);
b.replace("%2",""); Serial.println(b);
c.replace("%22",""); Serial.println(c);
}
void loop() {
// put your main code here, to run repeatedly:
}
liefert Bullshit:
%221,%202,%223,%224,%225
221,202,223,224,225
21,02,23,24,25
%221,%202,%223,%224,%225
Er kann irgendwie die %22 nicht mehr sauber ersetzen, sobald da eine %20 im String steht. Keine Ahnung was das soll.
Dazu sei gesagt, dass ich mir heute ein neues Arduino Uni Wifi Rev2 geholt habe und auf dem alten gestern gab es ja dieselben Probleme. Kann es dann irgendwie an dem USB vom Notebook liegen? Zu wenig Spannung beim hochladen. Oder Windows 10? Oder mir fehlt eine Bibliothek? Aber das Problem ist so trivial, das kann ja nicht an Paketen liegen.