Android hat zwei verschiedene Arten zu entkommen/kodieren HTML-Zeichen/Entitäten in Strings:Was ist der Unterschied zwischen Android Html.escapeHtml und TextUtils.htmlEncode? Wann sollte ich das eine oder andere benutzen?
Html.escapeHtml(String)
aufgenommen in API 16 (Android 4.1). Die Dokumentation sagt:Gibt eine HTML-Escape-Darstellung des angegebenen Nur-Text zurück.
TextUtils.htmlEncode(String)
Für diesen einen, sagen die docs:die Zeichenfolge Html-kodieren.
Lesen Sie die Dokumentation, sie beide so ziemlich die gleiche Sache zu tun scheinen, aber, wenn sie zu testen, habe ich ein paar ziemlich mysteriös erhalten (für mich) ausgegeben.
Eg. Mit der Eingabe: <p>This is a quote ". This is a euro symbol: €. <b>This is some bold text</b></p>
Html.escapeHtml
gibt:<p>This is a quote ". This is a euro symbol: €. <b>This is some bold text</b></p>
Während
TextUtils.htmlEncode
gibt:<p>This is a quote ". This is a euro symbol: €. <b>This is some bold text</b></p>
So scheint es, dass die zweite entkommt/codiert das Zitat ("), aber die erstens nicht, obwohl das erste das Euro-Symbol codiert, das zweite nicht. Ich bin verwirrt.
Was ist der Unterschied zwischen diesen beiden Methoden? Welche Charaktere entkommen/kodieren? Was ist der Unterschied zwischen Codierung und Flucht hier? Wann sollte ich das eine oder das andere benutzen (oder sollte ich, keuchen, beide zusammen benutzen?)?
Dank, vor allem für die Erklärung von Dingen, wann zu verwenden, was und warum, das, was über war ich unsicher. +1. – JonasCz
Danke für die Referenzen und die Erklärung –