在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