perf[utils.js]: refactor byteLength function (#1650)
This commit is contained in:
parent
6255f54f41
commit
aa2eb7d40f
|
@ -91,20 +91,19 @@ export function getQueryObject(url) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*get getByteLen
|
* @param {Sting} input value
|
||||||
* @param {Sting} val input value
|
|
||||||
* @returns {number} output value
|
* @returns {number} output value
|
||||||
*/
|
*/
|
||||||
export function getByteLen(val) {
|
export function byteLength(str) {
|
||||||
let len = 0
|
// returns the byte length of an utf8 string
|
||||||
for (let i = 0; i < val.length; i++) {
|
let s = str.length
|
||||||
if (val[i].match(/[^\x00-\xff]/gi) != null) {
|
for (var i = str.length - 1; i >= 0; i--) {
|
||||||
len += 1
|
const code = str.charCodeAt(i)
|
||||||
} else {
|
if (code > 0x7f && code <= 0x7ff) s++
|
||||||
len += 0.5
|
else if (code > 0x7ff && code <= 0xffff) s += 2
|
||||||
|
if (code >= 0xDC00 && code <= 0xDFFF) i--
|
||||||
}
|
}
|
||||||
}
|
return s
|
||||||
return Math.floor(len)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function cleanArray(actual) {
|
export function cleanArray(actual) {
|
||||||
|
|
Loading…
Reference in New Issue