为什么要在JavaScript中使用Base64编码?

时间:2016-07-24 15:00:44

标签: javascript base64

我有一个带有嵌入式JavaScript的HTML文件,如下所示:

<script type="application/javascript">

我发现它就像普通的JavaScript,但在http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions

我使用Base64 coding解码JavaScript,发现它只是jQuery库。

现在我想知道在Base64中编码jQuery的原因是什么,而不是只用{{1}}加载它?特别是如果它甚至比原始文本(https://www.base64decode.org/)更大!

编辑:查看以下内容中的脚本:Why the size of base64-encoded string is larger than the original file

2 个答案:

答案 0 :(得分:0)

可移植性。没有必要提出可能会或可能不会成功的外部请求。

答案 1 :(得分:0)

可能是因为人们不知道如何使用正确的编码,然后更喜欢使用base64,即使编码错误,它通常也能正常工作。

例如,这应该有效:

&#13;
&#13;
<script src="data:text/javascript,console.log('âà áäã')"></script>
&#13;
&#13;
&#13;

但是,如果您在UTF-8文件中使用它但不告诉编码到浏览器,它可能会认为它类似于Windows-1252,并将其解析为

&#13;
&#13;
<script src="data:text/javascript;base64,Y29uc29sZS5sb2coJ8Oiw6DDocOkw6MnKQ=="></script>
&#13;
&#13;
&#13;

如果你使用base64,它将是

&#13;
&#13;
Task.Delay
&#13;
&#13;
&#13;

浏览器可能会正确解释它,即使它试图使用错误的编码来读取它。