diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/qpdf/QUtil.hh | 13 |
1 files changed, 13 insertions, 0 deletions
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<unsigned char>(c) >> 4], hexchars[c & 0x0f]}; +} + #endif // QUTIL_HH |