From 942a2c3f689b46107538d49a67dbf74c76e672b8 Mon Sep 17 00:00:00 2001 From: m-holger Date: Wed, 4 Jan 2023 11:17:01 +0000 Subject: Add new function QUtil::hex_encode_char --- include/qpdf/QUtil.hh | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'include') diff --git a/include/qpdf/QUtil.hh b/include/qpdf/QUtil.hh index 6d9d18ae..27521a70 100644 --- a/include/qpdf/QUtil.hh +++ b/include/qpdf/QUtil.hh @@ -210,6 +210,11 @@ namespace QUtil QPDF_DLL std::string hex_encode(std::string const&); + // Returns lower-case hex-encoded version of the char including a leading + // "#". + QPDF_DLL + inline std::string hex_encode_char(char); + // Returns a string that is the result of decoding the input // string. The input string may consist of mixed case hexadecimal // digits. Any characters that are not hexadecimal digits will be @@ -583,4 +588,12 @@ QUtil::is_number(char const* p) return found_digit; } +inline std::string +QUtil::hex_encode_char(char c) +{ + static auto constexpr hexchars = "0123456789abcdef"; + return { + '#', hexchars[static_cast(c) >> 4], hexchars[c & 0x0f]}; +} + #endif // QUTIL_HH -- cgit v1.2.3-54-g00ecf