This is an archived page. It's not actively maintained.


This legacy API represents binary data using the lower haft of each 16-bit code unit in a JavaScript string. If the other APIs you are reading data from or writing data to don't require you to use this legacy representation, you should use TextDecoder and TextEncoder (available to chrome JavaScript via Components.utils.importGlobalProperties) instead of this API.

This interface is a Unicode encoder for use by scripts.
Inherits from: nsISupports Last changed in Gecko 1.8 (Firefox 1.5 / Thunderbird 1.5 / SeaMonkey 1.0)

Implemented by: To create an instance, use:

var converter = Components.classes[""]

Method overview

ACString ConvertFromUnicode(in AString aSrc);
ACString Finish();
AString ConvertToUnicode(in ACString aSrc);
AString convertFromByteArray([const,array,size_is(aCount)] in octet aData, in unsigned long aCount);
void convertToByteArray(in AString aString,[optional] out unsigned long aLen,[array, size_is(aLen),retval] out octet aData);
nsIInputStream convertToInputStream(in AString aString);


Attribute Type Description
charset string Current character set. Throws NS_ERROR_UCONV_NOCONV if the requested charset is not supported.



Converts the data from Unicode to one Charset. Returns the converted string. After converting, Finish should be called and its return value appended to this return value.

ACString ConvertFromUnicode(
  in AString aSrc


Returns the terminator string. Should be called after ConvertFromUnicode() and appended to that function's return value.

ACString Finish();


Converts the data from one Charset to Unicode.

AString ConvertToUnicode(
  in ACString aSrc


Converts an array of bytes to a unicode string.

AString convertFromByteArray(
  [const,array,size_is(aCount)] in octet aData,
  in unsigned long aCount


Convert a unicode string to an array of bytes. Finish does not need to be called.

void convertToByteArray(in AString aString,
  out unsigned long aLen, Optional
  [array, size_is(aLen),retval] out octet aData


Converts a Unicode string to an input stream. The bytes in the stream are encoded according to the charset attribute. The returned stream is non-blocking.

nsIInputStream convertToInputStream(
  in AString aString
The text to encode to the stream. The text is encoded into the character set specified by the charset attribute.
Return value

An nsIInputStream that will present the text specified in aString as its data.


See Reading textual data and Writing textual data for examples.