代码之家  ›  专栏  ›  技术社区  ›  Brandon

_0、1等是如何成为格式化字符串的标准的?

  •  4
  • Brandon  · 技术社区  · 14 年前

    只是好奇发展史上的这一点…数组索引的方括号( {0} , {1} 等等)成为字符串格式的标准?

    有什么特别的意义,或是80年代有人从半空中挑选出来的东西吗?

    3 回复  |  直到 12 年前
        1
  •  5
  •   Victor Nicollet    14 年前

    实际上,在80年代,格式化字符串标准是 printf ,格式字符串如下 %d 对于整数或 %s 对于字符串和模糊格式修饰符(例如 %06d 它绘制一个整数并用零填充到左边,直到它达到六个字符)。理由是C型系统非常差,而且 普林特 猜测它接收到的数据是什么(它是指向字符串的指针吗?一个整数?一个浮点数),这使得必须指定格式字符串中参数的类型。这种方法仍然存在。

    这种格式是从C(和C++)传递到许多语言(Java、PHP、Scilab、……)和几个工具。 console.log 例如,函数)。

    我最早看到的 {0} 格式是C,在21世纪初。到目前为止,我在C之外没有看到太多。

        2
  •  2
  •   Steven R. Loomis    14 年前

    Taligent MessageFormat . 20世纪90年代,JDK 1.1(来自泰利根)和ICU(=)

        3
  •  0
  •   hakvroot    14 年前

    我不确定它是否是实际的源代码,但是ICU(Unicode的国际组件)项目在 message formatting 并于1999年作为开源软件首次发布。据我所知,这不是一个标准,但是在不同编程语言之间处理Unicode文本格式有某种形式的协议是很好的(至少对于C++、Java和PHP都有实现/绑定(不确定C语言))。您可以在userguide.icu-project.org上阅读关于整个项目的更多信息。