W wierszu polecenia systemu Microsoft Windows (Win7), co robi polecenie Ctrl+ N?
Otrzymuję następujące dane wyjściowe:
C:\Users\pbarney>^N
'' ␋_ ┼¯├ _␊␌¯±┼␋≥␊␍ ▒_ ▒┼ ␋┼├␊_┼▒┌ ¯_ ␊│├␊_┼▒┌ ␌¯└└▒┼␍,
¯▬␊_▒␉┌␊ ▬_¯±_▒└ ¯_ ␉▒├␌ °␋┌␊.
Rozumiem, że poprzedni wiersz ma podobną długość do następującego komunikatu po wpisaniu nieprawidłowego polecenia:
'a' is not recognized as an internal or external command,
operable program or batch file.
Jestem ciekawy, dlaczego to robi.
windows
command-line
pbarney
źródło
źródło
Odpowiedzi:
Standard ASCII ma dwa punkty kodowe, SHIFT OUT i SHIFT IN, które przełączają się między dwoma różnymi trybami.
Historycznie były to czarno-czerwone wstążki do pisania. Instancja, którą widzisz, to emulator terminala zgodny z VT100, który używa ich do przełączania między zwykłym tekstem a znakami rysowania linii. Jest to prosty standard kompresji danych, w którym bit 7 każdego znaku jest ustawiany z bieżącego stanu przesunięcia, a nie przesyłany, co zapewnia nieznaczne zwiększenie prędkości w łączu szeregowym.
źródło
Jest to komunikat „nierozpoznany jako wewnętrzny lub ....”, ale wygląda na to, że nie wyświetla się poprawnie. Upewnij się, że czcionki wiersza polecenia są ustawione na raster.
Jeśli wkleję tutaj dane wyjściowe, otrzymam te same zaszyfrowane znaki, które robisz, prawdopodobnie z powodu kodowania znaków. Oto wynik cmd jako zrzut ekranu:
Wygląda na to, że symbol jest symbolem UTF-8, ponieważ N ++ nie renderuje go poprawnie w ANSI, ale w UTF-8
http://www.utf8-chartable.de/unicode-utf8-table.pl?start=9728
Zauważysz, że naciśnięcie Ctrl i innych liter spowoduje wygenerowanie innych symboli, takich jak symbol pik dla Ctrl+E
źródło