Jade Dungeon

HTML

tech-point

文本(text)和字符串(string)和二进制(binary)是三个层面的东西。

  • 字符串是对文本的序列化,
  • 二进制是对字符串的序列化。

同样的文本在不同平台上表示成不一样的字符串 ,正如同样的字符串在不同编码下表示成不同二进制。

  • text描述的是一段自然语言文字,
  • string是为了传输或存储这个text而用来表示这一段文字的字符序列。

比如abc这个text,在主流终端传输时,用字符串可以表示为"abc", 也可以表示为"abb\bc",即先多打一个b再打一个退格符\b删掉。

你可以想想为什么http传输json的mime是application/json而不是text/json。 因为json官网http://json.org明确规定了json的换行符具体是哪个unicode字符, 因此json是对js object的string表示,而不是对js object的text表示。

同理,为什么http传输html的类型是text/html而不是application/html。 因为html是hyper text而不是string。所以http协议会将html这个text转换成string, 再转换成binary发出去,对方收到之后会将binary转为string再转为对方平台里的text。 此时换行符可能变了,trailing spaces可能删了,ending newline可能删了, 甚至tab变成了4个空格。

不过没关系,虽然string和原来不一样了,但text和原来一样。

HTML

HTML基础:html.basic

html5离线模式:html5.offlineStore

html5 websocket: html5.websocket

xhtml5

html/canvas

css

css/change-theme:动态切换CSS皮肤

css.base

css3.base

html/css.fonts

CSS风格:整体架构:css.code-style.archtech

CSS风格:规则:css.code-style.detail.01

CSS风格:BEM/OOCSS支持插件:css.code-style.bem.oocss.support

css.tips

css.less

css/bootstrap4.layout

css/bootstrap4.css

css/bootstrap4.items

css/bootstrap4.plugin

svg

svg