1

Windows 7 で python getpassモジュールを使用してドイツ語の文字を含むパスワードを入力しようとしています。Pythonのバージョンは 2.7.8 です。

  • まず、システム ロケールをドイツ語 (ドイツ) に設定し、再起動します。
  • コマンド プロンプトのコードページが、ドイツ語の文字をサポートする cp850 に設定されるようになりました。
  • 次に、次のようにコマンド プロンプトで getpass を実行します。

    pwd = getpass.getpass()

    Password:
    

    印刷パスワード

  • パスワードとしてöを入力しましたが、印刷しても何も得られません。これは、0 であるパスワードの長さを出力することによって確認されます。

対応するロケールを設定すると、同じことが中国語、日本語、韓国語の文字で機能します。

Python 2.3.5でも同じことがあり、同じ問題が続きます。

何か間違ったことをしている場合はお知らせください。

4

1 に答える 1

0

次のように入力してドイツ語の文字 (ö) を入力していました: alt + 0246. しかし、ドイツ語のキーボード (アメリカのキーボードではセミコロン ';') から同じ文字を直接入力しても問題なく動作します。

ただし、上記の2つの違いは何なのか、まだ混乱しています。代替コード文字は、sys.stdin.encoding で指定されたものとは異なるエンコーディングになっている可能性があります!!!

于 2016-08-19T10:45:15.677 に答える