Ich habe eine XML-Zeichenfolge in big5 codiert:Wie kann man Nicht-UTF8-XML in Browsern mit Javascript analysieren?
atob('PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iYmlnNSIgPz48dGl0bGU+pKSk5TwvdGl0bGU+')
(<?xml version="1.0" encoding="big5" ?><title>中文</title>
in UTF-8.)
Ich mag würde den Inhalt <title>
zu extrahieren. Wie kann ich das mit reinem Javascript in Browsern tun? Bessere leichte Lösungen ohne jQuery oder emscripten.
Haben DOMParser
versucht:
(new DOMParser()).parseFromString(atob('PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iYmlnNSIgPz48dGl0bGU+pKSk5TwvdGl0bGU+'), 'text/xml')
Aber weder Chrom noch Firefox respektiert das Codierungsattribut. Ist es ein Standard, dass DOMParser
nur UTF-8 unterstützt?
Vielleicht eine dumme Frage, die meine Unwissenheit aufdeckt, aber wie überprüfen Sie, dass das Kodierungsattribut nicht respektiert wird? –
Auch in Ihrem realen Fall ist die Zeichenfolge als big5 codiert, und dann base64, wie in Ihrem Beispiel hier? –
Als Referenz für zukünftige Besucher sind echte Codes hier: https://github.com/yan12125/chrome_newtab/blob/c2336374c74cce438c956812b7639ed74ede619f/content/newtab.js#L70-L77. Dies ist ein altes Commit meines Projekts, das nun den unten erwähnten TextEncoder verwendet. –