GetHexaString - method of the PmBuffer object
String GetHexaString([Long nOffset], [Long nSize], [Long nAttr])
|nOffset||[optional] (Long) Specifies the position of read value in the data block.
The read value must be inside the data block. The item is read either whole or not read at all.
>= 0 - Index (in bytes, zero-based index) in the data block.
- The internal automatic position is used (see the AutoOffset
property). It points behind the last read or written value.
This operation shifts
the internal automatic position behind the read/written value.
If the items are read/written one by one then it is not necessary to define the position manually, but it is better to use this automated positioning.
|nSize||[optional] (Long) The size of read data block.
The -1 value (default) means that the data block is read from the defined starting position to the end.
|nAttr||[optional] (Long) Specifies how the HexaString is generated.
0 (default) - The hexa characters will be lowercase.
1 - The hexa characters will be uppercase.
This method is also functional in Web panels
(a string in hexadecimal format) can be used in two ways:
1) Display numbers in hexadecimal, where the higher orders are on the left. It corresponds to the storage in memory of Big-endian
. This is the conversion of a number value to a string (and vice versa) using a formatting string. To use HexaString
in this way, it is recommended to use the PmFormat
2) Encoding the contents of a memory section of a certain size (e.g. 1B, 2B, 4B, ...) in hexadecimal. Then it depends on how the number is stored in memory. On Intel
architecture), the so-called Little-endian
is used, where the lower orders are on the left. To use HexaString
in this way, it is recommended to use the PmBuffer
object, which can handle both Little-endian
Creating a data block by continuous writing of 4, 2 and 1 byte integer value (7 bytes total) and then reading the whole content of the data block in the form of HexaString
For inverse example see the SetHexaString
var b = Pm.CreatePmBuffer();
var s = b.GetHexaString();
// The result will be a HexaString "40302010605070"