2011-07-13 14 views

cevap

41
pwdinput = input("Now enter a password:").encode('utf-8') # or whatever encoding you wish to use 

Python 3 kullandığınız varsayarak, bu bir bytes UTF-8 olarak kodlanmış bir nesne, ya da her türlü kodlama kullanmak istediğiniz içine input() tarafından döndürülen bir Unicode dizesi dönüştürür. Python'un önceki sürümleri de var, ancak Unicode ve Unicode olmayan dizeleri işlemek biraz dağınıkken, Python 3 Unicode dizeleri (str) ve temsil edilebilen veya gösterilmeyen değişmeyen bayt dizileri arasında açık bir ayrım yapar. ASCII karakterleri (bytes). http://docs.python.org/py3k/library/stdtypes.html#str.encode

+0

http://docs.python.org/library/stdtypes.html#str.encode
Çok teşekkür ederim! Bu mükemmel çalıştı! Keşke daha önce fark etmiş olsaydım. Yine de teşekkürler. – Nate

+0

Oldukça hoş geldiniz. – JAB

+7

Python 2.x'in unicode işleminin büyük bir hayranı olmamasına rağmen, bu özel kod Python 2.7'de de gayet iyi çalışmalıdır, çünkü hem str hem de unicode türleri kodlama yöntemine sahiptir ve sadece ASCII karakterlerinden oluşur, dizenin utf-8 kodlaması tam olarak bu karakterlerin bayt dizisine eşittir. "abc" ve u "abc" kelimelerinin karmaşasının aynı olmasını istiyorsanız bu gerçek önemlidir. Eğer bu iki farklı muameleye maruz kalıyorsanız, o zaman herhangi bir kodlama iyidir. – GrandOpener