文件名更改后,Arduino String.replace()无法正常工作

问题描述 投票:0回答:1

当我的NodeMCU 0.9板上运行此代码时,我遇到了一个奇怪的故障。它基本上是以下列格式从API获取http代码:

<abbr title="klokken">kl</abbr> 11–12

在这种情况下,我希望通过首先删除前42个字符完全正常然后用 - 替换 - 来隔离11和12。当我打开一个草图并将此程序粘贴在其中时,它运行完全正常并返回11--12但是当我以随机名称保存该程序时它被重建并且由于某种原因不能正确替换字符然后返回11 - “12。我已经尝试在重建时替换字符串的不同部分,但工作正常但由于某种原因,我似乎无法找到索引或替换三个奇怪的字符。

http.begin(URL_time);
  int httpCode = http.GET();
  String timerange;
  if(httpCode > 0){
    timerange = http.getString();
    timerange.remove(0,42);
    timerange.replace("–", "--");
    Serial.println(timerange);

因此,我的问题是,除了不保存我的代码之外,是否有人知道如何解决这个问题。请在需要时随时让我详细说明我的问题。

string replace arduino esp8266 arduino-esp8266
1个回答
0
投票

您收到的字符串在Windows Latin 1(ISO 8859-1)中编码,您(可能)使用UTF-8。你需要的是正确地重新编码字符串。

© www.soinside.com 2019 - 2024. All rights reserved.