Ich habe ein Beispielprogramm, um Passwörter auf meinem Terminal zu akzeptieren, und ich verwende das Terminal-Paket dafür. Wenn ich jedoch versehentlich eine der Pfeiltasten während der Eingabe meines Passworts drücke, erhalte ich seltsame Fehler.Wie kann ich die Steuersequenz von der Eingabezeichenfolge trennen?
Ich wollte mein Eingabe-Passwort trennen und dann nur für die Autorisierung verwenden. Folgendes habe ich versucht.
Meine Eingabezeichenfolge ist
// Accept password using terminal.ReadPassword() which returns []byte
// password entered is "\x1b[Aabcd"
// where \x1b[A is the up arrow key and abcd is my input entry.
for _, c := range bytes.Runes(password) {
if !unicode.IsPrint(c) {
fmt.Printf("\nINVALID PWD ")
} else {
d = append(d, c)
}
}
fmt.Println("\n\n", fmt.Sprintf("%c", d))
Hier druckt [Aabcd
am Ende.
Kann ich die Eingabezeichen nur ohne die [A hier?
Dank