【问题标题】:Arduino String.replace() not working after file name change文件名更改后 Arduino String.replace() 不起作用
【发布时间】:2017-12-30 09:38:22
【问题描述】:

当这段代码在我的 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】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-07
      • 2011-11-30
      • 2011-08-28
      • 1970-01-01
      • 2014-04-19
      • 2011-08-25
      • 2014-06-16
      • 1970-01-01
      相关资源
      最近更新 更多