String unescapeString(const String& input) {
String output;
for (int i = 0; i < input.length(); i++) {
if (input[i] == '\\' && i + 1 < input.length()) {
switch (input[i + 1]) {
case 'n': output += '\n'; i++; break;
case 'r': output += '\r'; i++; break;
case 't': output += '\t'; i++; break;
case 'x':
if (i + 3 < input.length()) {
char hex[3] = { input[i + 2], input[i + 3], 0 };
output += (char)strtol(hex, NULL, 16);
i += 3;
}
break;
default: output += input[i + 1]; i++;
}
}
else {
output += input[i];
}
}
return output;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
String escapedString = "Hello\\nWorld\\xe1\\X41";
String unescapedString = unescapeString(escapedString);
Serial.println(unescapedString);
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4