ASCII码 0 - 127 128 - 255
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符
ASCII码表里长度都是一个字节 byte
UNICODE码,涵盖ASCII码 255之后为2字节
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
stringObject.charCodeAt(index)
index | 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。 |
// 写一个函数,接收任意一个字符串,算出这个字符串的总字节数
function numberByte(str){
if(typeof(str) != 'string'){
return;
}else{
var num = 0;
for (let i = 0; i < str.length; i++) {
if(str.charCodeAt(i) > 255){
num+=2;
}else{
num+=1;
}
}
return num;
}
}
// 优化 初始length一定是小于等于总字节数的
function lengthBytes(str){
var num = str.length;
for (let i = 0; i < str.length; i++) {
if(str.charCodeAt(i) > 255){
num++;
}
}
return num;
}
console.log(lengthBytes('世界'))//4
console.log(numberByte('世界'))//4