话不多说,直接上代码
// 计算字符串的字节长度
export function lengthOfByte(str){
let len = 0;
for(let i=0;i<str.length;i++){
if(str.charCodeAt(i)>256){
len += 2;
}else{
len++;
}
}
return len;
}
// 依照字节长度去截取字符串
export function subStringByByte(str,length){
if(lengthOfByte(str)<=length){
return str;
}else{
let len = 0;
let i=0;
let subLength = length;
while (len < length) {
if(str.charCodeAt(i)>256){
len+=2;
subLength--;
}else{
len++;
}
i++;
}
console.log(subLength);
return str.substring(0,subLength)
}
}
参数的str表示要处理的字符串,length表示要截取的字节长度~
export 关键字大家看着自己需不需要选择删or不删~