fix detection of unicode + hexdump header

This commit is contained in:
Peter Bieringer
2025-12-28 12:38:59 +01:00
parent 63d7229773
commit 9801cca9d9

View File

@@ -382,16 +382,19 @@ def dataToSpecial(data, count):
result += 'C' result += 'C'
elif char == '\n': elif char == '\n':
result += 'L' result += 'L'
elif ord(char) == 0xc2: elif (ord(char) & 0xf8) == 0xf0:
result += 'u' result += '4'
elif (ord(char) & 0xf0) == 0xf0:
result += '3'
elif (ord(char) & 0xe0) == 0xe0:
result += '2'
else: else:
result += '.' result += '.'
return result return result
def hexdump_str(content: str, limit: int = 2000) -> str: def hexdump_str(content: str, limit: int = 2000) -> str:
result = "Hexdump of string: index <bytes> | <ASCII> | <CTRL: C=CR L=LF 2/3/4=UTF-8-length> |\n"
result = ""
index = 0 index = 0
size = 16 size = 16
bytestring = content.encode("utf-8") bytestring = content.encode("utf-8")
@@ -441,7 +444,7 @@ def hexdump_line(line: str, limit: int = 200) -> str:
def hexdump_lines(lines: str, limit: int = 200) -> str: def hexdump_lines(lines: str, limit: int = 200) -> str:
result = "" result = "Hexdump of lines: nr chars/bytes: <bytes> | <ASCII> | <CTRL: C=CR L=LF 2/3/4=UTF-8-length> |\n"
counter = 0 counter = 0
for line in lines.splitlines(True): for line in lines.splitlines(True):
result += '% 4d ' % counter result += '% 4d ' % counter