![]()  | 
  
    General Utility Library for C++17 25.7.0
    
   | 
 
Escaping and unescaping special characters in strings.
Functions | |
| GUL_EXPORT std::string | gul17::escape (std::string_view in) | 
| Create a new string that looks like an ASCII-only C string literal of the input string.   | |
| GUL_EXPORT std::string | gul17::unescape (std::string_view in) | 
| Evaluate a string with escaped characters to get the original string back.   | |
| GUL_EXPORT std::string gul17::escape | ( | std::string_view | in | ) | 
Create a new string that looks like an ASCII-only C string literal of the input string.
This is achieved by replacing all non-printable and non-ASCII characters with a hex code escape in the form \x01.
A few special cases are implemented to give more readable representations for very common control characters, and of course backslash and double quotes are escaped as well:
CR -> \r NL -> \n TAB -> \t \ -> \\ " -> \"
Output (assuming that the string literal was in Latin-1 encoding):
Zwei\tFl\xfcsse\nflie\xdfen ins Meer.
"\x200" is invalid and not equal to " 0" from the standard's point of view.| in | The input string. | 
| GUL_EXPORT std::string gul17::unescape | ( | std::string_view | in | ) | 
Evaluate a string with escaped characters to get the original string back.
Does only know the escape sequences used by gul17::escape() and can be used as in inverse function.
| in | The string with escape sequences |