getEncodedTextStats function
Gets statistics about encoded text.
Returns a map containing:
- 'totalLength': Total character count including variation selectors.
- 'visibleLength': Count of visible (non-variation selector) characters.
- 'hiddenBytes': Count of variation selectors (hidden bytes).
- 'messageCount': Number of decoded messages found.
Implementation
Map<String, int> getEncodedTextStats(String encodedText) {
int totalLength = 0;
int visibleLength = 0;
int hiddenBytes = 0;
for (final rune in encodedText.runes) {
totalLength++;
if (isVariationSelector(rune)) {
hiddenBytes++;
} else {
visibleLength++;
}
}
final messageCount = decodeAll(encodedText).length;
return {
'totalLength': totalLength,
'visibleLength': visibleLength,
'hiddenBytes': hiddenBytes,
'messageCount': messageCount,
};
}