Jak wpisać znak U + 200B?

28

Jak wpisać na klawiaturze znak Unicode U + 200B (znak spacji o zerowej szerokości)?

Mehper C. Palavuzlar
źródło
3
Z jakiego systemu operacyjnego korzystasz?
Kurt Pfeifle
1
@pipitas: Jeśli zależy to od systemu operacyjnego, wolę system Windows.
Mehper C. Palavuzlar,
1
Pytanie poboczne: Dlaczego chcesz przestrzeni o zerowej szerokości? To nie pomaga w formatowaniu zepsutego komentarza, więc musisz użyć przestrzeni na włosy.
Joey
@Johannes: Ponieważ nie mogę znaleźć odpowiedzi na moje pytanie na Meta: meta.stackexchange.com/questions/54990/... i meta.stackexchange.com/questions/54990/... . Czy możesz wyjaśnić, w jaki sposób mogę wykorzystać przestrzeń na włosy?
Mehper C. Palavuzlar,
Ach, ok, inny problem. Myślałem, że próbujesz czegoś takiego jak meta.stackexchange.com/questions/45424 to tam, gdzie ZWS nie działa (zobacz moje komentarze testowe poniżej pytania). Również dwukrotnie opublikowałeś ten sam link.
Joey

Odpowiedzi:

19

Korzystając z najnowszych wersji Chrome / Chromium, możesz użyć jego konsoli do skopiowania znaku do schowka:

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))
Kate Miháliková
źródło
15

Najpierw przekonwertuj hex 200B na dziesiętny 8203

Po drugie, upewniając się, że numlock jest włączony, naciśnij następujące naciśnięcia klawiszy, przytrzymując klawisz Alt, a następnie uderzając w cztery cyfry na klawiaturze numerycznej i wreszcie zwalniając klawisz Alt.

Alt+8203

Wstawi odpowiedni znak, ale możesz zobaczyć śmieci w zależności od używanej czcionki (czy zawiera glif dla tego znaku), a także edytor, którego używasz, może nie być świadomy Unicode i traktować go jako dwa znaki lub coś inaczej całkowicie.

Uwaga: Przetestowałem to z czcionką Arial Unicode MS i działało to jak mistrz.

Goyuix
źródło
1
Dziękuję za odpowiedź, ale jak mogę to zrobić na przykład w tym polu komentarza?
Mehper C. Palavuzlar,
11
To wstawia U + 2642 tutaj. W RichEdit działa (podobnie jak przy użyciu 08203). Co do tego, dlaczego dla U + 2642: 8203 mod 256 ma wartość 11, która była w zestawie znaków OEM kodem glifu ♂ (który jest teraz U + 2642). Jest to zgodne z tym, co zaobserwowałem wcześniej: użycie Alt + foo traktuje kod inaczej, w zależności od tego, co jest poprzedzone. Jeśli nie 0jest na początku kodu, jest on interpretowany w zestawie znaków OEM, w przeciwnym razie w starym zestawie znaków systemu. W obu przypadkach Unicode bierze udział tylko w konwersji wyniku na znak.
Joey
1
Oczywiście różni się to między aplikacjami i elementami sterującymi, ale nie w znaczący i przewidywalny sposób, więc jako ogólne rozwiązanie nie jest jeszcze całkiem właściwe.
Joey
1
Nawiasem mówiąc, przeglądarki nie powinny mieć problemu z wybraniem czcionki dla określonego glifu, który nie jest obecny w określonej czcionce. Również Arial nie zawierają glif dla U + 200B. W każdym razie nie powinieneś widzieć pustych glifów (pól lub U + FFFD) w systemie częściowo nowym.
Joey
3
Jak wpisać ten znak na urządzeniu, które nie ma klawiatury numerycznej, jak niektóre laptopy?
Borek Bernard,
7

Postępuj zgodnie z instrukcjami w Wikipedii . Niestety najpierw musisz ustawić klucz rejestru.

Po załatwieniu tej formalności wystarczy przytrzymać Alti nacisnąć + 2 0 0 B, wpisując +cyfry i na klawiaturze numerycznej i litery normalnie.

zildjohn01
źródło
3
Wpisanie litery B na końcu na terminalu Windows XP wydaje się przerwać sekwencję zmiany znaczenia i żaden znak nie jest wysyłany do pola tekstowego.
Goyuix,
@Goyuix: Okna konsoli są zupełnie inną bestią ... przez większość czasu nie można wprowadzać tam znaków za pomocą Alt + foo.
Joey
7

Alt + 0129

To wstawia znak o zerowej szerokości.

Rudey
źródło
7
0129- hex 0x81 - nie jest taki sam jak U + 200B i nie jest znakiem o zerowej szerokości. W kodowaniu znaków Windows Cp1252 i ISO-8859-1 nie jest to „znak” - w punkcie kodowym x81 nie ma nic, więc tak, renderuje jako nic, ale nie jest granicą słowa, więc nie jest to samo co przestrzeń o zerowej szerokości. W Unicode punkt kodowy 0x81 znajduje się w zakresie zarezerwowanych znaków sterujących „C1”. Jeśli używasz kodowania Unicode / UTF-8, powinieneś unikać znaków z zakresu od 0x80 do 0x9f (128-159). Nawet w Latin-1 ten zakres jest zarezerwowany
Stephen P
2

Możesz przejść do tej strony: Symbole - zapewnia łatwy dostęp do wielu specjalnych symboli i znaków. U dołu strony znajduje się przycisk znaku „Przestrzeń zerowej szerokości”, wystarczy kliknąć ten przycisk, aby znak „Przestrzeń zerowej szerokości” został skopiowany do schowka.

harryngh
źródło
To było o wiele łatwiejsze niż inne odpowiedzi, które próbowałem! Dzięki.
Ryan
0

Aby wpisać to na laptopie bez osobnej klawiatury numerycznej, musisz włączyć funkcję numlock, która różni się w zależności od producenta komputera. Liczby 0–9 to odpowiednio MJKLUIO789. W większości laptopów klucze te są oznaczone jako takie. Ale nawet jeśli nie są, nadal powinno działać.

trlkly
źródło
-3

Nie jestem w 100% pewien, ale myślę, że może to być Alt + 127

RobertPitt
źródło
Używając num lock, mogę dodać!
RobertPitt,
hmm, no cóż, jedyna inna, którą mogę pomyśleć, czy jest to wersja Unicode, która ma 200 lub 200B, więc spróbuj ALT + 200 lub ALT + 200B
RobertPitt
Kiedy to robię, pojawia się ta postać:
Mehper C. Palavuzlar,
Alt + 200 =
Mehper C. Palavuzlar
Ta odpowiedź jest niepoprawna - ASCII 127 jest zwykle znakiem DEL, a nie znakiem Unicode spacji o zerowej szerokości.
Goyuix,