The kind of data represented or contained by descriptors is not restricted to text. Descriptors can also handle general binary data.
To deal with general binary data, always explicitly construct an 8 bit variant descriptor. Binary data should always be treated as 8 bit data regardless of the build.
For example, starting with an area in memory initialised with binary data as follows:
TUint8 data[6] = {0x00,0x01,0x02,0xAD,0xAE,0xAF};
construct a modifiable buffer descriptor using the default constructor as follows:
TBuf8<32> buffer;
The following code fragment puts the binary data into the descriptor and appends a number of single byte values. The length of the buffer is 9, the maximum length is 32 and the size is 9 regardless of the build.
TInt index;
TInt counter;
Text and general binary data can be freely mixed and the following code is acceptable:
buffer.Append('A');
buffer.Append('B');
buffer.Append(0x11);
Note that fixed length C++ arrays such as data
above can
be packaged inside a thin wrapper class, a TFixedArray<class T,TInt
S>
type, to guarantee that all array accesses are safe.