js怎样获取字符ASCII码?

JavaScript010

js怎样获取字符ASCII码?,第1张

非也!charCodeAt返回的一个字符的unicode编码(十进制表示的)。

在JavaScript中其实都是采用16位的unicode编码来存储字符的。

以下都采用十六进制表示:

ascii的编码范围:00~7F

unicode编码范围:0000~FFFF

一个JavaScript字符不一定是ascii字符,字符值在00~7F之间才能获得ascii编码。

ascii编码可以采用十进制表示,也可以十六进制表示。

charCodeAt返回的十进制表示的unicode值。如果它的值在ascii范围内,则它返回的值就是ascii码。

下面有个示例,找出一个字符串中的ascii码:

var str = "12312^731dsfaffad@#@!!!@#$"

var min = '\u0000'

var max = '\u007f'

var t, t2, r = []

var pad = []

for(var i = 0i <str.lengthi++) {

pad = []

t2 = t = str.charCodeAt(i).toString(16)

for(var j = 0j <4 - t.lengthj++) {pad.push(0)}

t = "\\u"+ pad.join("") + ""+ t +""

if(str.charAt(i) >= min &&str.charAt(i) <= max) {

r.push([str.charAt(i), t2])

}

}

var item

for(var i = 0i<r.lengthi++) {

item = r[i]

alert("字符:" + item[0] + ";ASCII码:" + item[1])

}

个人想法,觉得不对,可以拍砖!

示例如下:parseInt("1234blue")//returns 1234parseInt("0xA")//returns 10parseInt("22.5")//returns 22parseInt("blue")//returns NaNparseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:parseInt("AF", 16)//returns 175parseInt("10", 2)//returns 2parseInt("10", 8)//returns 8parseInt("10", 10)//returns 10如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:parseInt("010")//returns 8parseInt("010", 8)//returns 8parseInt("010", 10)//returns 10parseFloat()方法与parseInt()方法的处理方式相似。使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。下面是使用parseFloat()方法的示例:parseFloat("1234blue")//returns 1234.0parseFloat("0xA")//returns NaNparseFloat("22.5")//returns 22.5parseFloat("22.34.5")//returns 22.34parseFloat("0908")//returns 908parseFloat("blue")//returns NaN

在chrome里,字符串有个charCodeAt()方法

例如"a".charCodeAt()为97,如果是"ba".charCodeAt()为98,默认第一位,即index为0;

"ba".charCodeAt(0)=98,而"ba".charCodeAt(1)为97

10进制转16进制:

如17的16进制

(17).toString(16)

=

"11"

合起来就是("a".charCodeAt()).toString(16)

=

"61"

嫌麻烦可以封装一个函数实现。

数字变字符:

String.fromCharCode(98)

=

"b"