In computers, letters of the alphabet are characters in a big map of possible characters.
Numbers are characters too.
These character maps originally looked like this:
So the word Hello would be spelt out with 5 characters that were assigned numbers:
H = 072
e = 101
l = 108
l = 108
0 = 111
Thus, characters become numbers, and computers are good at representing numbers.
Notice the early part of that list... character 009 is a [TAB]. So characters represent all possible whitespace, line feeds, etc.
Characters also represent punctuation, etc.
After a while, the USA discovered that there were other languages in the world than US English, and after many decades of squabbling a system was established called unicode.
Unicode is just like the big table of characters above, except the unicode table is huge. It includes every character in every language in the world, as well as lots of emoji, and pictorial symbols, maths symbols, etc.
Getting to the point... there are characters in the unicode map of characters that represent very subtle things. These characters have codes that they can be referenced by, but do not print anything to a screen... a bit like a [TAB] that actually doesn't take up any space.
One such character is referenced as U+200B which is a "zero width space"... a space that has no width. Strange, huh?
I used another such character today to fix a bug: http://www.fileformat.info/info/unicode/char/00AD/browsertest.htm a "soft hyphen". That character is U+00AD and is a hint that a word may be hyphenated at that point... but if the word doesn't need to be hyphenated then the character will consume no space at all.
Anyhow, if you used such a character in your username... no-one could type it.
And if no-one could type it... no-one could @mention you.
In computers, letters of the alphabet are characters in a big map of possible characters.
Numbers are characters too.
These character maps originally looked like this:
So the word
Hello
would be spelt out with 5 characters that were assigned numbers:Thus, characters become numbers, and computers are good at representing numbers.
Notice the early part of that list... character 009 is a [TAB]. So characters represent all possible whitespace, line feeds, etc.
Characters also represent punctuation, etc.
After a while, the USA discovered that there were other languages in the world than US English, and after many decades of squabbling a system was established called unicode.
Unicode is just like the big table of characters above, except the unicode table is huge. It includes every character in every language in the world, as well as lots of emoji, and pictorial symbols, maths symbols, etc.
Getting to the point... there are characters in the unicode map of characters that represent very subtle things. These characters have codes that they can be referenced by, but do not print anything to a screen... a bit like a [TAB] that actually doesn't take up any space.
One such character is referenced as U+200B which is a "zero width space"... a space that has no width. Strange, huh?
I used another such character today to fix a bug: http://www.fileformat.info/info/unicode/char/00AD/browsertest.htm a "soft hyphen". That character is U+00AD and is a hint that a word may be hyphenated at that point... but if the word doesn't need to be hyphenated then the character will consume no space at all.
Anyhow, if you used such a character in your username... no-one could type it.
And if no-one could type it... no-one could @mention you.