概念
为了能在不同的计算机中能够正确的显示字符,设计出了字符编码用于设置在计算机中用0和1的不同组合来表示某个字符。字符编码随着计算机的发展以及不同国家有不同的语言,字符编码也有很多种。第一个通用的字符编码就是ASCII码,后续用于替代ASCII码的全球普及的字符编码是UTF-8。中国的专用字符编码有GB2312以及加强版GBK。unicode编码兼容ASCII码
常用api
charCodeAt(下标):获取字符串中指定下标字符的ASCII码字符串.charCodeAt(下标);
例子:
var str = "abc";
var code = str.charCodeAt(0);
console.log(code); //97
String.fromCharCode(数字):通过ASCII码获取对应的字符并返回
String.fromCharCode(ASCII码);
例子
var str = String.fromCharCode(97);
console.log(str); //a
练习
//练习:用户输入一个字符,判断是一个数字,还是一个大写字母、小写字母或其他符号
//获取ascii嘛并判断
var input = prompt('输入字符');
var code = input.charCodeAt(0);
//判断
if(code >= 48 && code <= 57) {
document.write('${input}是一个数字');
}else if(code >= 97 && code <= 122) {
document.write('${input}是一个小写字母');
}else if(code >= 65 && code <= 90) {
document.write('${input}是一个大写字母');
}else{
document.write('${input}是其他符号');
}
//练习:用户输入一串字符,判断有几个数字、小写字母、大写字母或其他符号
var input = prompt("输入字符串");
var number = 0;
var xiao = 0;
var da = 0;
var other = 0;
for(var i = 0 ;i<input.length;i++){
var code = input.charCodeAt(i);
if(code >= 48 && code <= 57) {
number++;
}else if(code >= 97 && code <= 122) {
xiao++;
}else if(code >= 65 && code <= 90) {
da++;
}else{
other++;
}
}
document.write(`数字数量为${number},大写字母数量为${da},小写字母数量为${xiao},其他符号数量为${other}`);
通过ASCII码找到对应的字符
var 变量名 = String.formChatCodeAt(ASCII码);
例子
var ch = String.formChatCodeAt(48);
console.log(ch);//0
变量就保存对应的字符。
通过字符找到对应的ASCII码
var 变量名 = 字符.charCodeAt(0);
变量就保存对应的ASCII码。
练习
//用户输入一个字符,判断是一个数字,还是一个大写字母,或小写字母,或其他字
var userinput = prompt("输入字符");
var code = userinput.charCodeAt(0);
if(code >=48 && code <=57) {
console.log("是一个数字");
}else if (code >=65 && code <=90) {
console.log("是一个大写字母");
}else if (code >= 97 && code <=122) {
console.log("是一个小写字母");
}else {
console.log("其他符号");
}
for-of
var str = "abcdefg";
for(var ch of str) {
console.log(ch);
}