MCPcopy Create free account
hub / github.com/Tracktion/choc / demonstrateUTF8

Function demonstrateUTF8

examples/text_processing.cpp:71–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71void demonstrateUTF8()
72{
73 std::cout << "\n=== UTF-8 Demo ===\n";
74
75 std::string utf8Text = "Hello 世界! 🌍 Café naïve résumé";
76 std::cout << "UTF-8 text: " << utf8Text << "\n";
77 std::cout << "Byte length: " << utf8Text.length() << "\n";
78 std::cout << "Character count: " << choc::text::UTF8Pointer (utf8Text.c_str()).length() << "\n";
79
80 // Iterate through UTF-8 characters
81 std::cout << "Characters:\n";
82 auto utf8Ptr = choc::text::UTF8Pointer (utf8Text.c_str());
83 int index = 0;
84 while (! utf8Ptr.empty())
85 {
86 auto codepoint = *utf8Ptr;
87 std::cout << " " << index++ << ": U+" << std::hex << std::uppercase
88 << codepoint << std::dec << "\n";
89 ++utf8Ptr;
90 }
91
92 // UTF-8 validation
93 std::string validUTF8 = "Valid UTF-8: Hello";
94 std::string invalidUTF8 = "Invalid UTF-8: \xFF\xFE";
95 std::cout << "\nValidation:\n";
96 std::cout << "'" << validUTF8 << "' is valid: "
97 << (choc::text::findInvalidUTF8Data (validUTF8.data(), validUTF8.size()) == nullptr) << "\n";
98 std::cout << "Invalid sequence is valid: "
99 << (choc::text::findInvalidUTF8Data (invalidUTF8.data(), invalidUTF8.size()) == nullptr) << "\n";
100}
101
102void demonstrateWildcardMatching()
103{

Callers 1

mainFunction · 0.85

Calls 6

UTF8PointerClass · 0.85
findInvalidUTF8DataFunction · 0.85
lengthMethod · 0.45
emptyMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected