代码之家  ›  专栏  ›  技术社区  ›  Cade Roux

你能推荐一些关于最不含糊的字母/数字的信息吗?

  •  8
  • Cade Roux  · 技术社区  · 15 年前

    我对生成短代码(最多6个字符)感兴趣,这些代码对于人类的可读性来说是明确的:

    i、 e:2Z8B5S是一个非常糟糕的代码,因为B看起来很像8,2看起来很像Z,等等。

    一个好的代码应该是这样的:AE37HT。

    如果你也有任何关于可读性是如何受到颜色、字体、大小和距离的影响的参考(我在看的东西可能在6英尺的距离上大约一英寸高),那也会很有帮助。在监视器上或者可能在印刷品上。

    http://www.usabilitysciences.com/usability-of-codes-passwords-numbers-and-letters/

    5 回复  |  直到 7 年前
        1
  •  7
  •   Reed Copsey    15 年前

    坦白地说,我认为这里最重要的因素是选择正确的字体。

    1) 固定宽度。对于挑选随机数字/字母,固定宽度非常有帮助,因为字距不会随着字体的移动而改变。

    2) 使用一个带有单独的0/O外观的字体-那肯定会把人搞得一团糟。寻找其他类似的字母/数字组合。出于这个原因,有可能将0/O排除在混合之外。

    3) 选择一种带有细微的衬线和粗细变化的字体。

    有关易读性的一些指南,请参见 this page

    有了正确的字体,我认为你可以选择任何字母/数字组合,并使其清晰易懂(除了可能的0和O)。我相信8/B、5/S和其他样本的字体应该是清晰的。

    你可以考虑的另一件事是对字母使用一种颜色,对数字使用另一种颜色——这将为潜在的模糊数字/字母组合提供线索。不过,我会把这作为一个微妙的提示,因为剧烈的颜色变化会引起人们对字母或数字的注意,这会损害整体的可读性。


    我只需要几千个代码,所以我并不担心域的大小

    如果是这样的话,我建议你保留整个数字集,有选择地加入与数字没有视觉(或听觉)相似性的字母。如果是6位数,即使是数字,你也有比你需要的更多的代码可能性。有选择地添加字母来帮助区分不同的字母要比有选择地删除一些字母容易得多。我可能会坚持使用1-9、A、Z、R、W和其他与数字不匹配的字母。

        2
  •  7
  •   Craigo    14 年前

    如果你不想担心字体。以下是我列出的清单(不包括小写字母):

    '0' can look like a 'O'
    '1' can look like a 'l'
    '2' can look like a 'Z'
    '5' can look like a 'S'
    '8' can look like a 'B'
    'B' can look like a '8'
    'I' can look like a '1'
    'J' can look like a '1'
    'L' can look like a '1'
    'O' can look like a '0'
    'S' can look like a '5'
    'T' can look like a '1'
    'Z' can look like a '2'
    
        3
  •  3
  •   DOK    15 年前

    字体 .

    如果你试图消除模棱两可的数字,你就输了 1 l ), 8 (资本 B )以及 0 (大写或小写 O 6 和资本 G

    当然,即使是字体,也有一些相似之处——零和大写O总是会给你带来麻烦。

    我最喜欢的字体例子之一就是伊利诺伊州的名字。试着用Arial在文本框中输入。放三个我在里面:伊利诺瓦。然后,试着看看有3个L。祝你好运,把插入点移到正确的位置。使用Courier字体更简单: Illlinois .

    StackOverflow和其他显示代码的站点使用类似Courier的字体来显示代码是有原因的。以及为什么其他网站和软件(苹果)使用类似Courier的字体来输入数据(文本框、文本区域等)。

        4
  •  2
  •   luvieere    15 年前

        5
  •  1
  •   jprete    15 年前

    如果你有选择,你可以通过改变字体来影响这一点。例如,许多面向程序员的字体故意将零斜杠,对I、l和1使用不同的形状,等等。我记得,衬线字体通常也用于这个目的。我猜——我不能支持这一点——这也是许多旧书都用“文字数字”排版的原因,这些数字的高度不同,可以更好地随页面流动,并且(据推测)增加了可读性。(参见 http://en.wikipedia.org/wiki/Text_figures