YUI压缩器用双引号替换单引号的原因是什么?

Pee*_*Haa 4 javascript minify yui-compressor

正如标题所说:YUI压缩器用双引号替换单引号的原因是什么?双引号占用的空间更少(我不这么认为)?或者是别的什么?

Inc*_*ito 10

将这些字符规范化为一种类型可以更好地实现GZIP压缩,为什么恰好是双引号是巧合.

GZip以压缩的标准方式工作,例如,如果您有一个字符串,例如:

"Foo", 'bar', "baz"

您可以压缩",为单个字符(让我们使用#符号来表示),将字符串减少为:

"Foo#'bar', "baz"

另一方面,如果你有:

"Foo", "bar", "baz"

你可以压缩", "b它,如:

"Foo#ar#az"

因此通过消除可用的字符总数导致更短的字符串.

再一次,只要它是一致的,使它成为一个引用并不重要.

这是我的linux命令行中的剪切+粘贴,用于演示:

briang@ubuntu:~$ cat 1.txt
"Foo", 'bar', "baz"

briang@ubuntu:~$ cat 2.txt
"Foo", "bar", "baz"

briang@ubuntu:~$ cat 1.txt.gz
&?:O1.txtSr??W?QPOJ,R?QPJJ?R?(?P?

briang@ubuntu:~$ cat 2.txt.gz
<?:O2.txtSr??W?QPJJ,?PUJ\tE?

briang@ubuntu:~$ ls -la *txt*
-rw-rw-r-- 1 briang briang 20 2012-02-14 16:39 1.txt
-rw-rw-r-- 1 briang briang 46 2012-02-14 16:37 1.txt.gz
-rw-rw-r-- 1 briang briang 20 2012-02-14 16:39 2.txt
-rw-rw-r-- 1 briang briang 41 2012-02-14 16:38 2.txt.gz
Run Code Online (Sandbox Code Playgroud)

你可以看到gziping这样的小文件增加了大小而不是减少它们,但是看看两个原始输入之间的gzip差异可以得到概念.规范化的gzip文件小5个字节.