字符串编码问题

时间:2011-08-15 04:50:46

标签: javascript string

这个字符串的编码是什么?

\x48\x65\x6C\x6C\x6F\x20

P.S。我在一些Javascript源代码中找到了它。

3 个答案:

答案 0 :(得分:4)

这是“Hello”的十六进制

  • 'H'是48
  • 'e'是65
  • 'l'是6C
  • 'o'是6F

20是一个空格

以下是ascii代码列表:http://www.asciitable.com/

\x只是告诉它是十六进制的。在Javascript字符串中,\x48将代表单个字符('H')。 x通常用于表示十六进制。

例如,因为48是十六进制的十进制数72,所以javascript语句:

0x48 === 72是真的

您可以使用String.fromCharCode(0x48)在javascript中将Hex转换为ascii。

您可以使用parseInt('0x48')

将十六进制转换为十进制

答案 1 :(得分:1)

\xNN形式的每个值都是十六进制文字值。它们映射到编码特定字符的ASCII值。如果您转到JavaScript控制台(例如,我现在使用的Chrome浏览器中的控制台)并输入

alert("\x48\x65\x6C\x6C\x6F\x20");

你会得到一个说

的弹出窗口
Hello

由于字母H,e,l和o的ASCII值分别为0x48,0x65,0x6C和0x6F。最后的0x20编码一个空格字符,不会显示在任何地方。

有关用于编码字符值的ASCII表的更多信息,请参阅包含完整表格的this website

我的问题是为什么任何网站都会这样做。就源字符数而言,它的空间效率低于仅写出Hello

答案 2 :(得分:1)

字符串Hello的{​​{3}}。