ROSE
0.11.17.0
|
Basic character encoding scheme.
This character encoding scheme converts code value to a sequence of octets in big- or little-endian order, and vice versa. It needs to know the number of octets per code value, and the byte order of the octets per code value is larger than one.
Definition at line 377 of file BinaryString.h.
#include <BinaryString.h>
Public Member Functions | |
virtual Ptr | clone () const ROSE_OVERRIDE |
Create a new copy of this encoder. More... | |
virtual std::string | name () const ROSE_OVERRIDE |
Name of encoder. More... | |
virtual Octets | encode (CodeValue) ROSE_OVERRIDE |
Encode a code value into a sequence of octets. More... | |
virtual State | decode (Octet) ROSE_OVERRIDE |
Decode one octet. More... | |
virtual CodeValue | consume () ROSE_OVERRIDE |
Consume a decoded code value. More... | |
virtual void | reset () ROSE_OVERRIDE |
Reset the decoder state machine. More... | |
![]() | |
State | state () const |
Decoder state. More... | |
![]() | |
SharedObject () | |
Default constructor. More... | |
SharedObject (const SharedObject &) | |
Copy constructor. More... | |
virtual | ~SharedObject () |
Virtual destructor. More... | |
SharedObject & | operator= (const SharedObject &) |
Assignment. More... | |
Static Public Member Functions | |
static Ptr | instance (size_t octetsPerValue, ByteOrder::Endianness sex=ByteOrder::ORDER_UNSPECIFIED) |
Protected Member Functions | |
BasicCharacterEncodingScheme (size_t octetsPerValue, ByteOrder::Endianness sex) | |
Additional Inherited Members | |
![]() | |
typedef Sawyer::SharedPointer< CharacterEncodingScheme > | Ptr |
Shared ownership pointer to a CharacterEncodingScheme. More... | |
![]() | |
State | state_ |
|
inlinevirtual |
Create a new copy of this encoder.
Implements Rose::BinaryAnalysis::Strings::CharacterEncodingScheme.
Definition at line 391 of file BinaryString.h.
|
virtual |
Name of encoder.
Implements Rose::BinaryAnalysis::Strings::CharacterEncodingScheme.
|
virtual |
Encode a code value into a sequence of octets.
For instance, an encoder for UTF-16 will encode a code value into two octets.
Implements Rose::BinaryAnalysis::Strings::CharacterEncodingScheme.
Decode one octet.
Processes a single octet and updates the decoder state machine. Returns the decoder's new state. See documentation for State for restrictions on state transitions.
Implements Rose::BinaryAnalysis::Strings::CharacterEncodingScheme.
|
virtual |
Consume a decoded code value.
The decoder must be in the FINAL_STATE or COMPLETED_STATE and upon return will be in the INITIAL_STATE.
Implements Rose::BinaryAnalysis::Strings::CharacterEncodingScheme.
|
virtual |
Reset the decoder state machine.
Implements Rose::BinaryAnalysis::Strings::CharacterEncodingScheme.