问题标签 [human-readable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1326 浏览

c - 定点 fx 表示法和转换

我有一个 fx1.15 符号。基础整数值为 63183(寄存器值)。

现在,根据维基百科,完整长度为 15 位。这个值不适合里面,对吧?

所以假设它是一个 fx1.16 值,我如何将它转换为人类可读的值?

0 投票
1 回答
139 浏览

encoding - 最大限度地减少误读/输入错误/说错话的编码?

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

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

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

一些想法:

较短的键通常更好

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

不能在视觉上相互混淆的字符更好

  • 例如,同时包含 O(哦)和 0(零)或 S(ess)和 5(五)的编码可能不好
  • 此问题取决于用于显示密钥的字体/外观,在某些情况下您可能能够控制(例如在纸上打印)但在其他情况下无法控制(例如网页和电子邮件)。
  • 还取决于您是否可以控制大写和/或小写的独占使用——例如大写的 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 无线电或断断续续的,则更大的挑战VOIP 电话系统。

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

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

可能的编码选择:

  • Base 64——紧凑,但有太多难以表达的字符(下划线、破折号等)
  • Base 34 -- 0-9 和 AZ 但 O (oh) 和 I (aye) 最容易与数字混淆
  • 基数 32 - 与基数 34 相同,但也省略了 0(零)和 1(一)

是否有公认的编码是这种情况的合理解决方案?

0 投票
2 回答
911 浏览

machine-learning - 文件名中的键值对是否有标准的文件命名约定?

我有多个以它们包含的内容命名的数据文件。例如

键和值由 - 和 _ 分隔。有更好的语法吗?是否有自动读取这些类型的文件/文件名的解析器?

这里的想法是文件名是人类机器可读的。

0 投票
21 回答
145667 浏览

javascript - 将文件大小(以字节为单位)转换为人类可读的字符串

我正在使用此函数将文件大小(以字节为单位)转换为人类可读的文件大小:

但是,这似乎不是 100% 准确的。例如:

这不应该"1.5 GB"吗?似乎除以 1024 正在失去精度。我完全误解了什么还是有更好的方法来做到这一点?

0 投票
2 回答
201 浏览

json - 是否有类似 csv 或 json 但更图形化且更易于人类阅读的东西?

例如 CSV 和 JSON 是人类和机器可读的文本格式。

现在我正在graphical为表数据表示寻找更多类似的东西。

代替:

这是 CSV 样式或

这是 JSON 样式,我不打算给出 XML 示例,类似这样的东西是我的想法:

对于某些语言,应该有它的阅读器和编写器库,并且它应该以某种方式成为标准。当然,我可以自己动手,但如果还有一个标准,我会同意的。

我在 wiki 或标记语言中看到过类似的东西,但它应该作为一种人类易于编辑的数据定义格式,并且可以由软件库读取和编写。

这不完全是标记和 wiki 语言的用途。我正在寻找的更多属于 csv、json 和 xml 家族。

0 投票
2 回答
247 浏览

java - 将数据编码为用户键入的代码,就像旧游戏的密码保存系统一样

我尝试搜索这方面的信息,但一定不知道要使用的正确术语...

将信息存储在人类可读和可写密码中的最简单方法是什么,并具有足够的填充以使随机猜测的代码不太可能有效?与 8 位主机游戏的密码保存系统不同。

在我的特定情况下,我希望能够在 Java 1.4.2 下将三个无符号整数(每个最大长度可能约为 20 位)编码为密码,并在 Web 服务器上对其进行解密。我还在考虑添加一个随机或基于日期的值,以尝试使密码独一无二。

该代码可以使用数字、混合大小写字母和可能的一些简单符号,但可能应该排除容易混淆的字符,如 1lI 和 O0。由于用户需要输入,显然越短越好。

谢谢!

0 投票
2 回答
181 浏览

c# - 更易读的空引用检查方式

在我编写的许多应用程序中,我发现自己为 DBML 对象的子类分配了一个默认值。这是我必须这样做的当前方式的示例:

理想情况下,它是最易读的:

但是对于任何为空的外键对象,都会出现 NullReferenceException。我不认为 null 合并在这里可用,但是有没有其他简洁的方法来完成这个非常频繁的任务?也许带有类/方法扩展,甚至是 VS 宏?

我在这个例子中使用了 Northwind 数据库:

北风数据库

接受任何和所有建议。

0 投票
1 回答
659 浏览

python - 人类可读的日程安排语法,比如我的应用程序中的功能?

谷歌应用引擎中的 cron 具有用于 cron 作业调度的人类可读语法。

https://developers.google.com/appengine/docs/python/config/cron#The_Schedule_Format

如何在我的应用程序中实现类似的功能,其中使用人类可读格式的输入计划和程序解析并存储实际值?

编辑:我认为他们正在使用 antlr3 库,但我无法弄清楚他们是如何使用它的。

0 投票
1 回答
1024 浏览

logging - should log messages be more human readable or computer readable?

I can see advantages to both.

human readable

  • quickly solving a problem is easy, because you can easily find out what's going on
  • when you make a computer readable form, you're usally also sticking to a certain schema, this limits you when your application changes

computer readable

  • easier to automatically analyze logs to improve the site.
0 投票
3 回答
1077 浏览

ruby-on-rails - Rails - 全局人性化属性

假设我有一个User带有name属性的模型。如果一个@user有名字'CAIO',我可以调用 humanize 方法使它更好:

但是我很懒,不想humanize每次都打电话:我想@user.name返回人性化的版本。

现在,我知道我可以使用辅助方法或模型来做到这一点

但是这样做然后我必须更改@user.name我的应用程序中的所有内容@user.h_name......而且我很懒!:-)

有没有办法直接在模型中声明,而是使用name来调用呢?更好的是,它适用于name我所有的模型!