缩小

时间:2015-12-14 10:03:44

标签: javascript utf-8

我正在尝试使用基于LZW压缩的自解压缩进行Javascript缩小。为了使其工作,使用新的ES6模板字符串分隔符将缩小的Javascript存储在字符串中。

部分压缩涉及创建字典,字典中的每个项目都由代码字符串中的单个UTF-8字符表示。这给了我大约128个字典条目,但意味着代码字符串将包含128-255 UTF-8中的每个字符。

它适用于我尝试的每一个浏览器,并且是我唯一感兴趣支持的浏览器。我对支持旧版浏览器没什么兴趣。

要了解我的代码如何与现有的缩放器进行比较,我会对结果进行比较。我对结果非常满意。

然后我想,让我们看看各种javascript minifiers将对我的缩小代码做什么。这是我遇到问题的地方,因为至少有一半的minifiers失败并报告非法字符。经过检查,我发现它是128-255 UTF-8范围内被标记为非法的字符。

由于javascript符合ASCII,UTF-8和UTF-16的印象,我试图找出UTF-8字符串导致这些缩小器失败的原因。我搜索了一个非法的UTF-8 Javascript字符列表,找不到任何。

有人可以说明为什么在javascript字符串中使用UTF-8字符会导致这些缩小器失败(不是一个YUI minifier工作),如果任何UTF-8字符需要在Javascript模板字符串中进行特殊处理。注意我只对字符代码128-255感兴趣,因为我已正确编码了所有字符。

0 个答案:

没有答案