2017-12-30 93 views
0

이 코드가 NodeMCU 0.9 보드에서 실행될 때 이상한 오류가 발생했습니다. 기본적으로 다음과 같은 형식에서 API의 HTTP 코드를 얻고있다 :파일 이름 변경 후 Arduino String.replace()가 작동하지 않음

<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); 

따라서 제 질문은 누군가 내 코드를 저장하지 않고이 문제를 해결하는 방법을 알고있는 경우입니다. 필요할 때 언제든지 제 질문에 대해 자세히 물어보십시오.

답변

0

받은 문자열은 Windows Latin 1 (ISO 8859-1)로 인코딩되어 있으며 사용자는 UTF-8을 사용하고있을 것입니다. 필요한 것은 문자열을 올바르게 다시 인코딩하는 것입니다.