Ответ 1
"Níðhöggr" содержит 9 символов Юникода:
U+004E N (Lu): LATIN CAPITAL LETTER N
U+00ED í (Ll): LATIN SMALL LETTER I WITH ACUTE
U+00F0 ð (Ll): LATIN SMALL LETTER ETH
U+0068 h (Ll): LATIN SMALL LETTER H
U+006F o (Ll): LATIN SMALL LETTER O
U+0308 ̈ (Mn): COMBINING DIAERESIS
U+0067 g (Ll): LATIN SMALL LETTER G
U+0067 g (Ll): LATIN SMALL LETTER G
U+0072 r (Ll): LATIN SMALL LETTER R
Возможно, вы захотите использовать "Níðhöggr" , который выглядит так же, когда распечатывается, но содержит U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
вместо двухзначного комбо. Другими словами, он находится в сформованной нормальной форме (NFC).
Или вы можете захотеть "Níðhöggr" , который имеет 10 символов Unicode (í разделен int i
и комбинирующий акцент). Это будет разложена нормальная форма (NFD).
Google "Нормализация Юникода" для интересных и/или волосатых деталей. Используйте эту функцию, чтобы нормализовать данные Unicode в Haskell (спасибо, Адам Розенфилд!).