How can I type the unicode character U+200B (zero-width space character) with my keyboard?
-
3Which operating system are you using?– Kurt PfeifleJun 25, 2010 at 12:25
-
1@pipitas: If it's OS dependent, I'd prefer Windows.– Mehper C. PalavuzlarJun 25, 2010 at 14:44
-
1Side question: Why do you want a zero-width space? It doesn't help for the broken comment formatting, you'd have to use a hair space, then.– JoeyJun 26, 2010 at 7:50
-
@Johannes: Because I couldn't find an answer to my question on Meta: meta.stackexchange.com/questions/54990/… and meta.stackexchange.com/questions/54990/…. Could you please explain how I can use a hair space?– Mehper C. PalavuzlarJun 26, 2010 at 8:23
-
Ah, ok, different problem then. I thought you were trying something like meta.stackexchange.com/questions/45424 this where ZWS doesn't work (see my test comments below the question). Also you posted the same link twice.– JoeyJun 26, 2010 at 13:56
9 Answers
When using recent versions of Chrome/Chromium, you can use its console to copy the character to clipboard:
copy("\u200B") // works for BMP characters only (U+0000 to U+FFFF)
copy("\u{200B}") // works for all characters (U+0000 to U+10FFFF)
copy(String.fromCodePoint(0x200B))
-
2
First convert the hex 200B to decimal 8203
Second, making sure numlock is turned on, press the following keystrokes while holding down the Alt key, then striking the four digits on the numeric keypad, and finally releasing the Alt key.
Alt+8203
It will insert the proper character, but you may see garbage depending on the font you are using (does it contain a glyph for that character) as well as the editor you are using may not be unicode aware and treat it as two characters or something else completely.
Note: I tested this with the Arial Unicode MS font, and it worked like a champ.
-
1Thanks for your answer but how can I do it, for example, inside this very comment box? Jun 25, 2010 at 17:24
-
15This inserts U+2642 here. In RichEdit it works (as does using
08203
). As to the why for U+2642: 8203 mod 256 is 11 which was, in the OEM charset, the character code of the glyph ♂ (which is now U+2642). This is consistent with what I have previously observed: Using Alt+foo treats the code differently, depending on what is prefixed. If no0
is at the start of the code, then it is interpreted in the OEM charset, otherwise the system legacy charset. In both cases Unicode is only involved in converting the result to a character.– JoeyJun 26, 2010 at 8:06 -
1Obviously this differs between applications and controls, but not in a meaningful and predictable way so as a general solution this isn't quite right, still.– JoeyJun 26, 2010 at 8:06
-
1By the way, browsers should have no problem picking a font for a particular glyph that isn't present in the font specified. Also Arial does contain a glyph for U+200B. In any case, you shouldn't see null glyphs (boxes or U+FFFD) on a semi-recent system.– JoeyJun 26, 2010 at 8:09
-
3How do you type this character on a device that doesn't have a numeric pad, like some laptops? Jan 8, 2012 at 9:30
Follow the instructions in Wikipedia. Unfortunately you need to set a registry key first.
After that formality is taken care of, just hold Alt and press + 2 0 0 B, typing the +
and numbers on the numpad, and the letters normally.
-
4Typing the letter B at the end on my Windows XP terminal seems to abort the escape sequence and no character is actually sent to the text box.– GoyuixJun 25, 2010 at 15:24
-
@Goyuix: The console windows are an entirely different beast ... most of the time you can't enter characters with Alt+foo there.– JoeyJun 26, 2010 at 7:49
Alt + 0129
This inserts a zero-width character.
-
11
0129
- hex 0x81 - is not the same as U+200B and is not a zero-width character. In the Windows Cp1252 character encoding and ISO-8859-1 it is "not a character" — there is nothing at the code-point x81, so yes, it renders as nothing, but it isn't a word boundary so it's not the same as a zero-width space. In Unicode, codepoint 0x81 is in the "C1" reserved control character range. If you're using Unicode / UTF-8 encoding you should avoid characters in the range 0x80 to 0x9f (128-159). Even in Latin-1 this range is reserved Aug 19, 2015 at 18:59
You can go to this website: Symbols - it provides easy access to many special symbols and characters. At the bottom of the page, you see a button for "Zero Width Space" character, just click on that button to have the "Zero Width Space" character copied in the clipboard.
To type this on a laptop with no separate number pad, you'll need to turn numlock on, which will differ depending on your computer's manufacturer. The numbers 0-9 are then MJKLUIO789, respectively. On most laptops, these keys are marked as such. But, even if they aren't, it should still work.
My go-to site for any special characters that I cannot enter via Unicode hexadecimal + Alt+X (such as in LibreOffice or Word, is Amp-what.com. You can search by character name(s), decimal, hex and even html entities. Click the desired character, a supersized box pops up and you can then click whichever part you need.
This selection box is especially useful when copying characters that you cannot easily select with your mouse, such as non-space characters or diacriticals. Simply clicking inside the box copies whichever character is there to your clipboard.
Im not 100% sure but i think it may be Alt+127
-
hmm well the inly other one i can think if is the unicode version witch us 200 or 200B so try ALT+200 or ALT+200B Jun 25, 2010 at 11:41
-
1
-
-
1This answer is incorrect - ASCII 127 is commonly the DEL character, not a zero width space unicode character.– GoyuixJun 25, 2010 at 15:23
-
@RobertPitt: if you want to use the "alt+NMO" method with numeric keypad, the "NMO" part must not be the identical string as the Unicode codepoint description. Unicode codepoints are given as hex values. The "alt+NMO" method needs decimal values. You MUST convert the Unicode "NMOP" into a decimal. Then use "alt+<decimal-of-NMOP>" on your numeric keypad. (Doesn't work for me with the examples Mehper had given, I don't have fonts. But works for all cases of "normal" characters, as well as characters which are displayed by my local charmap.exe.) Jun 25, 2010 at 22:24