728x90
반응형
byte 수로 문자열 자르기
const str = '10센치는 권정열';
function sliceStringByByte(str, byteLength) {
const encoder = new TextEncoder();
let currentByteLength = 0;
let i = 0;
while (i < str.length && currentByteLength < byteLength) {
const charCode = str.charCodeAt(i);
const byteCount = encoder.encode(str[i]).length;
currentByteLength += byteCount;
i++;
}
return str.slice(0, i);
}
console.log(sliceStringByByte(str, 5)); // 10센
문자열의 byte 수를 계산해서 2분의 1만큼 자르기
const str = '10센치는 권정열';
function sliceStringByByte(str, byteLength) {
const encoder = new TextEncoder();
let currentByteLength = 0;
let i = 0;
while (i < str.length && currentByteLength < byteLength) {
const charCode = str.charCodeAt(i);
const byteCount = encoder.encode(str[i]).length;
currentByteLength += byteCount;
i++;
}
return str.slice(0, i);
}
function titleStar(str) {
const byteLength = new TextEncoder().encode(str).length;
const halfByteLength = Math.ceil(byteLength / 2);
const slicedStr = sliceStringByByte(str, halfByteLength);
return slicedStr;
}
console.log(titleStar(str)); // 10센치는
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JavaScript] 배열 메소드 some() (0) | 2023.03.24 |
---|---|
[JavaScript] '??' 널 병합 연산자(nullish coalescing operator) (0) | 2023.03.16 |
[JavaScript/jQuery] 강제로 클릭이벤트 발생시키기 (0) | 2023.02.21 |
[JavaScript] 자바스크립트 !! 연산자 (0) | 2023.01.16 |
[JavaScript] JSON.stringify() (0) | 2023.01.13 |