« XPCOM API Reference


The nsAString abstract class represents a character string composed of double-byte storage units. This class is typically used to represent Unicode character arrays.

  #include "nsStringAPI.h"

  class nsAString { ... };


char_type [PRUnichar]
Storage unit for this class.
self_type [nsAString]
An alias for the type of this class.
size_type [PRUint32]
Type used to represent the number of double-byte units stored in the string.
index_type [PRUint32]
Type used to represent an offset into the string.


The BeginReading function returns a const pointer to the first element of the string's internal buffer.
The EndReading function returns a const char_type pointer to the element just beyond the last element of the string's internal buffer.
The Length function returns the number of storage units in the string's internal buffer (not including the null-terminator if present).
The Assign family of functions sets the value of a string's internal buffer.
The Replace family of functions sets the value of a string's internal buffer.
The Append family of functions appends a value to the end of a string's internal buffer.
The Insert family of functions inserts a value into a string's internal buffer.
The Cut function removes a section of the string's internal buffer.


This operator is a shortcut for the Assign family of functions.
This operator is a shortcut for the Append family of functions.


The nsAString class is never instantiated directly. It should be instantiated using a subclass, such as nsEmbedString .

nsAString corresponds to the AString and DOMString XPIDL data types. nsAString by itself does not imply a particular character encoding. That is, it may be used to store UTF-16 characters, UCS-2 characters, or any random double-byte data. The character encoding in use for a particular nsAString instance depends on the context in which it is used. If used with XPIDL, then the character encodings of the corresponding XPIDL data types applies.

nsAString may even hold data with embedded null values. Thus, the length of the data contained in the nsAString should be determined by calling the nsAString::Length method.

The methods defined on nsAString are implemented as inline wrappers around the XPCOM string functions, prefixed with NS_String. See, for example, NS_StringGetData.

See Also

nsAString::Length, EndReading, NS_StringGetData, nsEmbedString

Document Tags and Contributors

 Contributors to this page: JITR, freaktechnik, Sheppy, Pmash
 Last updated by: JITR,