[ Root System Explorer ]
Location:
Root
/
lib
/
python3.9
/
site-packages
/
elftools
/
construct
/
lib
+ Folder
+ File
Upload
Editing: hex.py
from .py3compat import byte2int, int2byte, bytes2str # Map an integer in the inclusive range 0-255 to its string byte representation _printable = dict((i, ".") for i in range(256)) _printable.update((i, bytes2str(int2byte(i))) for i in range(32, 128)) def hexdump(data, linesize): """ data is a bytes object. The returned result is a string. """ prettylines = [] if len(data) < 65536: fmt = "%%04X %%-%ds %%s" else: fmt = "%%08X %%-%ds %%s" fmt = fmt % (3 * linesize - 1,) for i in range(0, len(data), linesize): line = data[i : i + linesize] hextext = " ".join('%02x' % byte2int(b) for b in line) rawtext = "".join(_printable[byte2int(b)] for b in line) prettylines.append(fmt % (i, str(hextext), str(rawtext))) return prettylines class HexString(bytes): """ Represents bytes that will be hex-dumped to a string when its string representation is requested. """ def __init__(self, data, linesize = 16): self.linesize = linesize def __new__(cls, data, *args, **kwargs): return bytes.__new__(cls, data) def __str__(self): if not self: return "''" sep = "\n" return sep + sep.join( hexdump(self, self.linesize))
SAVE CHANGES
[ CANCEL ]
Name
Type
Actions
.. (Parent Directory)
📄 __init__.py
FILE
Ren
[EDIT]
DEL
📁 __pycache__/
DIR
Ren
DEL
📄 binary.py
FILE
Ren
[EDIT]
DEL
📄 bitstream.py
FILE
Ren
[EDIT]
DEL
📄 container.py
FILE
Ren
[EDIT]
DEL
📄 hex.py
FILE
Ren
[EDIT]
DEL
📄 py3compat.py
FILE
Ren
[EDIT]
DEL