# Poco

# class HexBinaryEncoderBuf

Library: Foundation
Package: Streams
Header: Poco/HexBinaryEncoder.h

## Description

This streambuf encodes all data written to it in hexBinary encoding and forwards it to a connected ostream. In hexBinary encoding, each binary octet is encoded as a character tuple, consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code. See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xmlschema-2/), section 3.2.15.

Note: The characters are directly written to the ostream's streambuf, thus bypassing the ostream. The ostream's state is therefore not updated to match the buffer's state.

## Inheritance

Direct Base Classes: UnbufferedStreamBuf

All Base Classes: UnbufferedStreamBuf

## Member Summary

Member Functions: close, getLineLength, setLineLength, setUppercase

## Constructors

### HexBinaryEncoderBuf

HexBinaryEncoderBuf(
std::ostream & ostr
);

## Destructor

### ~HexBinaryEncoderBuf

~HexBinaryEncoderBuf() override;

## Member Functions

### close

int close();

Closes the stream buffer.

### getLineLength

int getLineLength() const;

Returns the currently set line length.

### setLineLength

void setLineLength(
int lineLength
);

Specify the line length.

After the given number of characters have been written, a newline character will be written.

Specify 0 for an unlimited line length.

### setUppercase

void setUppercase(
bool flag = true
);

Specify whether hex digits a-f are written in upper or lower case.