Как преобразовать строку JavaScript в Юникоде в байтовый массив? - PullRequest
1 голос
/ 23 октября 2010

У меня есть служба записи удаленных файлов, но в качестве входных данных требуется байтовый массив. Остальная часть интерфейса предоставляет только строки Юникода JavaScript. Тогда нет возможности их написать.

Я нашел что-то подобное в 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);

Согласно тому, что говорят в MDC, это должно делать именно то, что мне нужно, но с этим не получается:

Компонент возвратил код ошибки: 0x80004005 (NS_ERROR_FAILURE) [nsIScriptableUnicodeConverter.convertToByteArray]

В документации есть строка, которая не должна быть UTF-16, и я прочитал, что JS использует UTF-16 по умолчанию.

Есть ли другие способы получить этот чертов байтовый массив из строки?

1 Ответ

1 голос
/ 21 декабря 2010

Вы должны задавать кодировку! Например: converter.charset = 'UTF-8';

...