過去数年間、オンラインまたはオフラインでホストされているさまざまなアプリケーションやプラットフォームに登録してきました。
スペースは名前にとって非常に自然であり、ほとんどのコンピューティングシステムはそれらを効率的に処理できるため、ユーザー名に空白を使用できない理由。
(多くの人が、違法な他の特殊文字について同様の質問をすることができます。しかし、彼らのケースは、現実世界の命名スキームにさえ自然ではないため、はるかに理解できます。そして確かに!)
過去数年間、オンラインまたはオフラインでホストされているさまざまなアプリケーションやプラットフォームに登録してきました。
スペースは名前にとって非常に自然であり、ほとんどのコンピューティングシステムはそれらを効率的に処理できるため、ユーザー名に空白を使用できない理由。
(多くの人が、違法な他の特殊文字について同様の質問をすることができます。しかし、彼らのケースは、現実世界の命名スキームにさえ自然ではないため、はるかに理解できます。そして確かに!)
実際には、これはおそらく破る必要のある慣習の 1 つだと思います。ほとんどのシステムは現在、多くの高度なデータを処理し、スペースを含むテキストを正しく処理するために使用されています。嬉しいことに、fogbugz (別のプラグイン) は、入力したとおりに、電子メール アドレス、ユーザー名、または実名を受け入れることができます。ログオン時のユーザー名として。
これは単に、8 文字のファイル名とおそらく 8 文字のユーザー名の時代から続く慣習です。ウェブアプリでそれを許可し、世界があなたに従うようにすることをお勧めします. :)
ユーザー名のスペースに関連する微妙な問題の 1 つは、スペース文字が「見えない」ため、2 つの連続するスペースが 1 つのスペースに非常に似ている場合があることです。スペースを 1 つではなく 2 つ入力することで発生するエラーは、見つけにくいことがあります。これが、スペースをまとめて使用できない理由の 1 つです。
一部のシステムでは、スペースを許可しない場合がありますが、改行なしのスペースは許可されます。賢明なユーザーは、この事実を利用して、ユーザー名にスペースを含めることができます。
Windows コマンド プロンプトが引用符で囲まれていないファイル名を処理するのと同じように、どこかのコードがまだ入力をスペースで区切られたパラメーターのセットとして処理しているためだと思います。たとえば、C で記述された外部実行可能プロセスにユーザー名を渡す場合、ユーザー名はコマンド ラインで渡され、C アプリケーションでは 2 つの引数として渡されます。
これは実際にはあまり起こらないかもしれませんが、多くの特殊文字と同じように、それが存在する理由だと思います.
私が知っている唯一の理由は、空白でトークンを解析している場合、ユーザー名にスペースを入れると失敗することです。
ただし、私はあなたに同意します。今日の環境では、レガシー互換性が理にかなっている場合 (*nix など) を除いて、おそらくそれを続ける理由はあまりないでしょう。
一般に、データベースなどに実際に保存される前に、入力フィールドの値をトリミングする傾向があるためだと思います。
空白を削除し、パスワードまたはユーザー名で空白を許可すると、ユーザーがパスワードを「PWD」として入力すると大きな問題が発生することが想像できます。
これにより、"John Smith" と "JohnSmith" などの紛らわしい名前の組み合わせが防止されます。また、テキスト内に表示される名前を自動的に認識しやすくなります。
どこで使用するかによって異なります。UNIX のユーザー名にスペースを使用しないことは、UNIX のファイル名にスペースを使用しないのと同じ理由で意味があります。コマンド ラインでスペースを入力するのは面倒です。とはいえ、UNIX ではファイル名だけでなくユーザー名にもスペースを使用できます。
Web アプリなどでスペースを許可しない理由がわかりません。
実際、私を最も悩ませているのは、ユーザー名に @ を使用できない Web アプリケーションです。何百万人ものユーザーがいる場合、本当に欲しい名前が利用可能になる可能性は低いので、少なくとも一意であることが保証されているメール アドレスを使用するのが好きです。