Wie ein Unicode-JavaScript-String in eine Byte-Array konvertieren?
-
25-09-2019 - |
Frage
habe ich einen Dienst Remote-Dateien zu schreiben, aber es erfordert einen Byte-Array als Eingabe. Rest der Schnittstelle stellt nur Unicode-Strings JavaScript. Keine Möglichkeit, sie dann zu schreiben.
fand ich so etwas wie dies in MDC:
var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
var s = {};
var tt = 'test string';
var data = converter.convertToByteArray(tt, s);
Nach dem, was sie in MDC sagen, sollte dies genau das tun, was ich brauche, aber es funktioniert nicht mit diesem:
Komponente zurückgegeben Fehlercode: 0x80004005 (NS_ERROR_FAILURE) [nsIScriptableUnicodeConverter.convertToByteArray]
In docs gibt es die Zeichenfolge muss nicht UTF-16 sein, und ich habe gelesen, JS verwendet UTF-16 standardmäßig aktiviert.
Jede andere Möglichkeiten, dieses verdammte Byte-Array von Zeichenfolge zu produzieren?
Lösung
Sie müssen assing die charset! Zum Beispiel: converter.charset = 'UTF-8';