首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >{0}、{1}等是如何成为格式化字符串的标准的?

{0}、{1}等是如何成为格式化字符串的标准的?
EN

Stack Overflow用户
提问于 2010-10-14 02:22:52
回答 3查看 202关注 0票数 4

在发展史上对此很好奇...带有数组索引的方括号({0}{1}等)是如何成为字符串格式的标准的?

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

EN

回答 3

Stack Overflow用户

发布于 2010-10-14 02:34:40

实际上,回到80年代,格式化字符串的标准是printf,格式字符串如%d表示整数或%s表示字符串,以及模糊的格式修饰符(如%06d,它绘制一个整数并在左边填充零,直到它达到六个字符)。理由是C类型系统非常差,printf不可能猜测它接收的数据是什么(它是一个指向字符串的指针吗?一个整数?浮点数),这使得有必要指定格式字符串内的参数类型。这种方法仍然存在。

这种格式从C语言(和C++)一直延续到许多语言(Java、PHP、OCaml、Scilab...)。和几个工具(例如Firebug的console.log函数)。

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

票数 5
EN

Stack Overflow用户

发布于 2010-10-14 03:12:52

Taligent MessageFormat。20世纪90年代。同样在JDK1.1(来自Taligent)和ICU (==)中也是如此

票数 2
EN

Stack Overflow用户

发布于 2010-10-14 02:51:25

我不确定它是否是真正的起源,但ICU (国际统一码组件)项目在message formatting中使用了花括号,并于1999年作为开源首次发布。据我所知,它不是一个标准,但在处理不同编程语言之间的Unicode文本格式方面有一些形式上的协议是很好的(至少存在C++、Java和PHP的实现/绑定(对C#不确定))。你可以在userguide.icu-project.org上阅读更多关于整个项目的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3926736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档