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?

War es hilfreich?

Lösung

Sie müssen assing die charset! Zum Beispiel: converter.charset = 'UTF-8';

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top