ソフトウェア

見分けにくい文字をIDで使用するべきではない


「O」と「0」など、文字の中には見分けにくい組み合わせが存在しています。そうした紛らわしい文字をIDに使用するべきでないと人材マッチングプラットフォーム「Contra」の共同創業者兼CTOのガジュス・クジナス氏がブログに投稿しました。

Understanding and avoiding visually ambiguous characters in IDs
https://gajus.com/blog/avoiding-visually-ambiguous-characters-in-ids


クジナス氏は見分けにくいものとして下記の組み合わせを挙げました。

・「O」と「0」
数字のゼロがスラッシュやドットで区切られていないフォントでは、大文字のオーと数字のゼロが非常に似ていることがあります。

・「I」と「l」と「1」
大文字のアイと小文字のL、そして数字の1は多くの印刷物において区別できない場合があります。

・「5」と「S」
フォントによっては数字の5と大文字のエスが似ています。

・「2」と「Z」
数字の2と大文字のゼットは手書きのフォームにおいて混同しがちです。

・「8」と「B」
数字の8と大文字のビーは様式化されたフォントの場合や書き方が悪い場合に混同される場合があります。

・「6」と「G」
数字の6と大文字のジーは特定のフォントで混同される可能性があります。

・「9」と「q」と「g」
数字の9と小文字のQと小文字のGも一部のフォントで混同される可能性があります。

上記の文字をさまざまなフォントで表示すると下図のようになります。「9qg」の部分などいずれのフォントでも見分けが付くように見える文字も存在していますが、クジナス氏は「一度手書きしてみてください」と手書きの時に見分けるのが難しいと述べています。


こうした見た目で見分けにくい組み合わせが存在する文字を除くと、IDに使用できる英数字は53文字になります。また、大文字と小文字を区別しないことにする場合は23文字になるとのこと。仮にIDの長さが5文字の場合、大文字と小文字を同一視すると最大で約644万IDしか作成できません。


しかしIDの文字数を増やすことでIDの総数は指数関数的に増加します。クジナス氏は「問題は見分けが付きにくくてもIDの長さを抑えたいのか、IDを少し長くすることで見分けを付けやすくするのかというところだ」と述べています。


クジナス氏は読みやすさを優先し、下記の文字だけを使用するのが好みとのこと。

abcdefhijkmnoprstwxy347


なお、音声でIDを伝達することが多い場合は「b」と「p」など音が似ている文字についても考えるべきだと述べられていました。

◆フォーラム開設中
本記事に関連するフォーラムをGIGAZINE公式Discordサーバーに設置しました。誰でも自由に書き込めるので、どしどしコメントしてください!Discordアカウントを持っていない場合は、アカウント作成手順解説記事を参考にアカウントを作成してみてください!

• Discord | "PCやネットサービスのユーザーIDは「見やすさ」を考えて付けてる?" | GIGAZINE(ギガジン)
https://discord.com/channels/1037961069903216680/1232633428042711050

この記事のタイトルとURLをコピーする

・関連記事
O(オー)と0(ゼロ)など紛らわしい文字が見分けやすくなるプログラミング用の無料フォントをまとめた「Programming Fonts」 - GIGAZINE

無料で使えるコックピット内での「読みやすさ」を追求したオープンソースのフォントファミリー「B612」 - GIGAZINE

世界にはさまざまな文字が使われていて「人類すごい」と感動すら覚える - GIGAZINE

人間の目で見抜けないURL偽装がフィッシング詐欺に悪用される可能性、Firefoxでの対策はコレ - GIGAZINE

無料でダウンロードできるフォントを書体や見た目のイメージから検索できる「モジザイ」 - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by log1d_ts

You can read the machine translated English article here.