gpt4 book ai didi

编码可以最大限度地减少误读/打错/误读?

转载 作者:行者123 更新时间:2023-12-03 17:57:10 27 4
gpt4 key购买 nike

假设您有一个系统,其中相当长的键值可以在屏幕上、通过电子邮件或纸张准确地传达给用户;但是用户需要能够通过电话读取 key 或通过读取 key 并将其输入回其他界面来准确地将 key 传达给您。

对 key 进行编码以使阅读/听力/打字变得容易和准确的“好”方法是什么?

这可以是发票编号、文档 ID、交易 ID 或其他一些抽象值。假设为了讨论起见,基础键值是一个大数字,比如基数为 10 的 40 位数字。

一些想法:

较短的键通常更好

  • 40 位基数 10 的值可能不适合给定的空间,并且很容易在
  • 中间丢失
  • 可以用 33-34 位数字以 16 进制表示相同的值
  • 相同的值可以用 26 位以 36 为基数表示
  • 相同的值可以用 22-23 位以 64 进制表示

  • 不能在视觉上相互混淆的字符更好
  • 例如包含 O(哦)和 0(零)或 S(ess)和 5(五)的编码可能是错误的
  • 此问题取决于用于显示 key 的字体/字体,在某些情况下(例如在纸上打印)您可能能够控制,但在其他情况下(例如网页和电子邮件)则无法控制。
  • 还取决于您是否可以控制大写和/或小写的独占使用——例如大写 D (dee) 可能看起来像 O (oh) 但小写的 d (dee) 不会;小写的 l (ell) 看起来像 1 (one) 而大写的 L (ell) 则不是。 (特别是异国情调的字体/面孔除外)。

  • 不能在语言/听觉上相互混淆的角色更好
  • a (ay) 8 (八)
  • B (bee) C (cee) D (dee) E (ee) g (gee) p (pee) t (tee) v (vee) z (zee) 3 (三)
  • 这个问题取决于端到端信道的音频质量——如果预期的用户群可能有语音障碍,或者可能必须通过防毒面具说话,或者通信信道可能包括 CB radio 或断断续续,则更大的挑战VOIP电话系统。

  • 添加一两个校验位可以检测错误,但无助于解决错误。

    alpha - bravo - charlie - delta 类型的对话可以帮助解决听力错误,但不能帮助解决阅读错误。

    可能的编码选择:
  • Base 64 - 紧凑,但太多难以用语言表达的字符(下划线、破折号等)
  • 基数 34 -- 0-9 和 A-Z 但 O (oh) 和 I (aye) 最容易与数字混淆
  • 基数 32 -- 与基数 34 相同,但也省略了 0(零)和 1(一)

  • 对于这种情况,是否有一种普遍认可的编码是合理的解决方案?

    最佳答案

    第一次听的时候就喜欢了A Proposal for Proquints: Identifiers that are Readable, Spellable, and Pronounceable .它将数据编码为一系列辅音和元音。虽然它与英语有关。 (因为在德语中,fv 听起来是一样的,所以它们不应该同时使用。)但我喜欢总体思路。

    关于编码可以最大限度地减少误读/打错/误读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9639236/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com