char8 mode, enabled using the PUGIXML_CHAR8_MODE macro, uses C++20 char8_t instead of char for the UTF-8 interface. This makes use of pugixml safer when char is otherwise used for the system codepage. Stream-based methods received an additional overload, since the char overload may be used to represent arbitrary bytes, and the char8_t overload may be used by string streams. An additional typedef u8char_t, which represents the type pugixml uses for a UTF-8 code unit, was added for the conversion functions. Most changes had to be done in the test code. Representing raw bytes as string literals does not work for UTF-8 literals, since hex escape codes are interpreted as a Unicode character. Affected places either received a branch with a u8 literal or use a new RAW() macro which smuggles in UTF-8 code points using chars. |
||
|---|---|---|
| .. | ||
| images | ||
| samples | ||
| config.adoc | ||
| manual.adoc | ||
| manual.html | ||
| quickstart.adoc | ||
| quickstart.html | ||