YUI压缩器为什么要用双引号替换单引号?

4
正如题目所述:为什么YUI压缩器会将单引号替换为双引号?难道双引号占用的空间更小吗(我认为不是这个原因)?还是有其他原因呢?
1个回答

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

你会发现对这样小的文件进行gzip压缩会使它们变大,而不是缩小它们的大小,但是比较两个原始输入之间的gzip差异可以让你理解这个概念。规范化后的gzip文件减小了5个字节。


为什么要踩我?我的回答不正确吗?还是因为报复性投票?无论如何,这都没关系,但我只是想要我的答案 :P - PeeHaa
虽然我不是那个踩负评的人,但我认为只是标准化引号类型就能帮助gzip有些...可疑。 - Charles
1
@Charles 我马上会添加内容。那个点踩的人实际上是一个在我解释他错了之后删除了自己回答的人。他继续在我的个人资料中进行点踩攻击。 - Incognito

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接