From 9801cca9d922aee30249f708ecb7654ceff26c82 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Sun, 28 Dec 2025 12:38:59 +0100 Subject: [PATCH] fix detection of unicode + hexdump header --- radicale/utils.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/radicale/utils.py b/radicale/utils.py index 6a1fdade..c7e7645f 100644 --- a/radicale/utils.py +++ b/radicale/utils.py @@ -382,16 +382,19 @@ def dataToSpecial(data, count): result += 'C' elif char == '\n': result += 'L' - elif ord(char) == 0xc2: - result += 'u' + elif (ord(char) & 0xf8) == 0xf0: + result += '4' + elif (ord(char) & 0xf0) == 0xf0: + result += '3' + elif (ord(char) & 0xe0) == 0xe0: + result += '2' else: result += '.' return result def hexdump_str(content: str, limit: int = 2000) -> str: - - result = "" + result = "Hexdump of string: index | | |\n" index = 0 size = 16 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: - result = "" + result = "Hexdump of lines: nr chars/bytes: | | |\n" counter = 0 for line in lines.splitlines(True): result += '% 4d ' % counter