在我认为,如果 HTML 文件编码和 JS 文件编码不相符,你是没有办法避免乱码的。因为即使你在 JS 中检测到 HTML 文件编码,JS 也没有办法改变本身的文件编码。
唯一可以做的是在 JS 中不要使用中文,而是使用unicode,例如 \u4E2D\u6587,因为它不依赖于文件或文档编码。
indexhtml文件编码:ANSI
<html><head>
<meta charset="gb2312" />
<script type="text/javascript" src="testjs"></script>
</head>
<body>
<p>文件编码:ANSI</p>
<p>文档编码:gb2312</p>
</body>
</html>
testjs文件编码:UTF-8
windowonload = function() {var p = documentcreateElement("p");
pinnerHTML = "<p>JS 文件编码:utf-8</p>";
pinnerHTML += "<p>JS \u6587\u4EF6\u7F16\u7801\uFF1Autf-8</p>";
documentbodyappendChild(p);
}
输出:
文件编码:ANSI文档编码:gb2312
JS 鏂囦欢缂栫爜锛歶tf-8
JS 文件编码:utf-8
将每一个字节表示的十六进制表示的内容,用字符串来显示。
UTF(UCS Transformation Format)规范,常见的UTF规范包括UTF-8、UTF-7、UTF-16
使用2个字节表示已经有码点的字符。UCS-2只是一个编码方案,UTF-16却要用于实际的传输
UCS-4就是用4个字节(实际上只用了31位,最高位必须为0)编码
js使用的编码
中日韩统一表意文字
每个汉字由两个字节构成
是针对繁体汉字的汉字编码,台湾地区常用,共收录13,060个汉字
该函数能解码由创建或其它流程得到的统一资源标识符(URI)。
方法用于解码由方法或者其它类似方法编码的部分统一资源标识符(URI)。
escape生成新的由十六进制转义序列替换的字符串
计算生成一个新的字符串,其中的十六进制转义序列将被其表示的字符替换。
以上就是关于关于js编码的问题全部的内容,包括:关于js编码的问题、js常见编码解码、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)