1. 程式人生 > >JS計算位元組長度and依照位元組長度進行擷取的方法

JS計算位元組長度and依照位元組長度進行擷取的方法

話不多說,直接上程式碼

// 計算字串的位元組長度
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不刪~