Encoder.GetBytes Method (Char*, Int32, Byte*, Int32, Boolean)

Note: This method is new in the .NET Framework version 2.0.

When overridden in a derived class, encodes a set of characters starting at the specified character pointer and any characters in the internal buffer into a sequence of bytes that are stored starting at the specified byte pointer. A parameter indicates whether to clear the internal state of the encoder after the conversion.

This method is not CLS-compliant.  

Namespace: System.Text
Assembly: mscorlib (in mscorlib.dll)

[CLSCompliantAttribute(false)] 
[ComVisibleAttribute(false)] 
public virtual int GetBytes (
	char* chars,
	int charCount,
	byte* bytes,
	int byteCount,
	bool flush
)
J# does not support APIs that consume or return unsafe types.
JScript does not support APIs that consume or return unsafe types.

Parameters

chars

A pointer to the first character to encode.

charCount

The number of characters to encode.

bytes

A pointer to the location at which to start writing the resulting sequence of bytes.

byteCount

The maximum number of bytes to write.

flush

true to clear the internal state of the encoder after the conversion; otherwise, false.

Return Value

The actual number of bytes written at the location indicated by bytes.

Exception typeCondition

ArgumentNullException

chars is a null reference (Nothing in Visual Basic).

-or-

bytes is a null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

charCount or byteCount is less than zero.

ArgumentException

byteCount is less than the resulting number of bytes.

To calculate the exact array size that GetBytes requires to store the resulting bytes, use GetByteCount.

If GetBytes is called with flush set to false, trailing characters at the end of the data block are stored in an internal buffer and used in the next encoding operation. Call GetByteCount on a block of data immediately before calling GetBytes on the same block, so that any trailing characters from the previous block are included in the calculation.

If GetBytes is called with flush set to true, invalid characters at the end of the data block, such as unmatched surrogates or incomplete combining character sequences, are ignored and the internal buffer is cleared. To ensure that the encoded bytes are properly terminated, set flush to true in the last call to GetBytes.

This method affects the state of the encoder.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

.NET Compact Framework

Supported in: 2.0

Community Additions

ADD
Show: