20 std::istringstream stream(content);
22 while (std::getline(stream, line)) {
23 size_t spacePos = line.find(
' ');
24 if (spacePos != std::string::npos) {
25 std::string name = line.substr(0, spacePos);
27 std::stoul(line.substr(spacePos + 1), &spacePos, 16);
45 if (codePoint <= 0x7F) {
46 result.push_back(
static_cast<char>(codePoint));
47 }
else if (codePoint <= 0x7FF) {
49 static_cast<char>(0xC0 | ((codePoint >> 6) & 0x1F)));
50 result.push_back(
static_cast<char>(0x80 | (codePoint & 0x3F)));
51 }
else if (codePoint <= 0xFFFF) {
53 static_cast<char>(0xE0 | ((codePoint >> 12) & 0x0F)));
55 static_cast<char>(0x80 | ((codePoint >> 6) & 0x3F)));
56 result.push_back(
static_cast<char>(0x80 | (codePoint & 0x3F)));
59 static_cast<char>(0xF0 | ((codePoint >> 18) & 0x07)));
61 static_cast<char>(0x80 | ((codePoint >> 12) & 0x3F)));
63 static_cast<char>(0x80 | ((codePoint >> 6) & 0x3F)));
64 result.push_back(
static_cast<char>(0x80 | (codePoint & 0x3F)));