ASCII字符>;在Javascript中无法正确读取128

ASCII字符>;在Javascript中无法正确读取128,javascript,utf-8,character-encoding,ansi,windows-1252,Javascript,Utf 8,Character Encoding,Ansi,Windows 1252,我有一个包含Javascript文件的HTML。此脚本包含一个特殊字符ASCII 152。当我试图显示charCodeAt时,我会得到不同的结果,但从来都不是正确的结果。你能给我一些建议吗?谢谢 TEST.HTML <script type="text/javascript" charset=SEE BELOW src="test.js"> </script> 带有x用户定义字符集的TEST.HTML:警报显示63384。与%63232一起工作,因为每个字符>128都

我有一个包含Javascript文件的HTML。此脚本包含一个特殊字符ASCII 152。当我试图显示charCodeAt时,我会得到不同的结果,但从来都不是正确的结果。你能给我一些建议吗?谢谢

TEST.HTML

<script type="text/javascript" charset=SEE BELOW src="test.js">
</script>
  • 带有x用户定义字符集的TEST.HTML:警报显示63384。与%63232一起工作,因为每个字符>128都显示为63232+字符
  • 带有utf-8字符集的TEST.HTML:警报显示65533。所有大于128的字符显示为65533
  • 带有Windows-1252字符集的TEST.HTML:警报显示752。我找不到ASCII与显示内容之间的关系
使用UTF-8编码的TEST.JS文件

function d(a)
{
a=(a+"").split("");
alert(a[1].charCodeAt(0));
};
d("i˜g"); // Note that ˜ is 152 in ASCII
function d(a)
{
a=(a+"").split("");
alert(a[1].charCodeAt(0));
};
d("i[x98]g"); // Note that x98 is 152
  • 带有x用户定义字符集的TEST.HTML:警报显示65533。所有大于128的字符显示为65533
  • 带有utf-8字符集的TEST.HTML:警报显示65533。所有大于128的字符显示为65533
  • 带有Windows-1252字符集的TEST.HTML:警报显示65533。所有大于128的字符显示为65533

ASCII只有127个字符。字符152不存在

utf8在128-255范围内没有字符,ASCII完全以127结尾。。。而且
“i[x98]g”
中位置
1
处的字符是
“[”
“[x98]”
没有意义

您的函数可以替换为
str.charCodeAt(1)

字符<代码>是
可以写成
“\u02DC”
字符串。从charcode(732)

utf8在127-255范围内没有字符,ASCII结束于127…而且
“i[x98]g”
中位于
1
位置的字符是
“[”
“~”在我知道的任何编码中都不在152位置。请访问www.ASCII-code.com(ASCII扩展)附加信息:与Unicode一起使用,并不真正关心ASCII。对不起,我指的是ASCII扩展。如下所示,152是“√”[x98]是一个字符。这是记事本++表示UTF-8.98十六进制中的152个字符的方式。谢谢大家。然后我重新表述我的问题。我想在TEST.JS中写一个表示整数152的字符作为d()的参数,因此当我运行此函数时,警报显示152。我可以使用任何编码。@Arturo在这种情况下,您可以编写
“\u0098”
,或此不可见字符:
,或
字符串。fromCharCode(152)
@Arturo,这是一个全新的问题,应该单独提问。我也无法理解这个问题,因为没有表示整数152的字符。如果您希望根据自己的方案将字符映射到整数,或者应用其他人的映射,请使用表进行映射。但很难猜出我的答案是什么这才是真正的问题。对不起,我的意思是ASCII扩展。如下图所示,152是“√”