HTML和JavaScript之间的数据转换如何工作?

时间:2019-05-18 06:37:33

标签: javascript html

  • HTML5文档以UTF-8编码,这意味着每个字符1个字节(8位)

  • ,但是JavaScript编码2字节(16位)的字符串和64位的数字

我的问题是

  • JavaScript每次读取/写入HTML数据都会转换吗? (我无法在Google上找到有关此机制的任何明确信息)

1 个答案:

答案 0 :(得分:4)

此字符转换不涉及JavaScript。它与DOM接口连接。 DOM接口使用UTF-16。其specification状态:

  

DOMString是16位单元的序列。

     

对于Java和ECMAScript,DOMString绑定到String类型,因为两种语言也都使用UTF-16作为其编码。

此过程中的第三个参与者是浏览器引擎(例如Gecko,WebKit等),更广泛的是用户代理。浏览器引擎负责实际HTML文件/页面与DOM API(和CSSOM API)之间的字符编码转换。例如,查看W3C在HTML document representation上拥有什么:

  

符合要求的用户代理必须正确地将他们可以识别的任何字符编码中的所有字符映射到ISO 10646(或者它们必须表现得与之相同)。

JavaScript与此无关。