js字符与ASCII码互转的方法

  • 字符 to ASCII码
	var str="A"
	var c = str.charCodeAt()
	console.log('A = ',str.charCodeAt());//65
  • ASCII码 to 字符
var s = String.fromCharCode(0x41)//0x41=65,直接填65是一样的
console.log('s = ',s);//A
  • int类型 to 字符串
    比如var s = 0x41424344
    0x41 对应 ‘A’
    0x42 对应 ‘B’
    0x43 对应 ‘C’
    0x44 对应 ‘D’
    如果直接 var str = “” + s,只是将number字符串化 : str = “1094861636”
    但是,我想要的是 str = “ABCD”
function Int32CodetoStr(x){
		var str= ""
		var t = x
		var arr = []
		var i = 0
		while(t>0){
			arr[i++] = t&0xff
			t = t >>8
		}
		i--;
		while(i>=0){
		 str = str + String.fromCharCode(arr[i--])
		}
		
		return str
	}

减少拼接次数和fromCharCode调用,提高效率:

function Int32CodetoStr(x){
		var t = x
		var arr = []
		var i = 0
		while(t>0){
			arr[i++] = t&0xff
			t = t >>8
		}
		switch(i){
			case 1: return String.fromCharCode(arr[0])
			case 2: return String.fromCharCode(arr[1],arr[0])
			case 3: return String.fromCharCode(arr[2],arr[1],arr[0])
			case 4: return String.fromCharCode(arr[3],arr[2],arr[1],arr[0])
		}
		return ""
	}
  • number to(N进制)字符串
var n = 15

//16进制
var str_16 = n.toString(16)//"f"

//10进制
var str_10 = n.toString(10)//"15"

//2进制
var str_2  = n.toString(2)//"1111"
  • (N进制)字符串 to number
var s = "11"

//对于字符串"11",如果按照16进制理解0x11 => 17
var num_16 = parseInt(s,16)//17

//对于字符串"11",如果按照10进制理解11 => 11
var num_10 = parseInt(s,10)//11

//对于字符串"11",如果按照2进制理解0b11 =>3
var num_2 = parseInt(s,2)//3
  • 字符串常用方法
    方法说明
    charAt()返回指定索引位置的字符
    charCodeAt()返回指定索引位置字符的 Unicode 值
    concat()连接两个或多个字符串,返回连接后的字符串
    fromCharCode()将 Unicode 转换为字符串
    indexOf()返回字符串中检索指定字符第一次出现的位置
    lastIndexOf()返回字符串中检索指定字符最后一次出现的位置
    localeCompare()用本地特定的顺序来比较两个字符串
    match()找到一个或多个正则表达式的匹配
    replace()替换与正则表达式匹配的子串
    search()检索与正则表达式相匹配的值
    slice()提取字符串的片断,并在新的字符串中返回被提取的部分
    split()把字符串分割为子字符串数组
    substr()从起始索引号提取字符串中指定数目的字符
    substring()提取字符串中两个指定的索引号之间的字符
    toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
    toLocaleUpperCase()根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
    toLowerCase()把字符串转换为小写
    toString()返回字符串对象值
    toUpperCase()把字符串转换为大写
    trim()移除字符串首尾空白
    valueOf()返回某个字符串对象的原始值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值