substr
是 JavaScript 中的一个字符串方法,用于从给定索引处提取字符串的子字符串。默认情况下,substr
使用 UTF-16 编码处理字符串。但是,如果你需要处理不同编码的字符串,可以使用以下方法:
function substr(str, start, length) {
const encoder = new TextEncoder('utf-8');
const data = encoder.encode(str);
const subData = data.slice(start, start + length);
return new TextDecoder('utf-8').decode(subData);
}
String.fromCharCode
和 Array.from
方法将字节数组转换回字符串。function substr(str, start, length) {
const encoder = new TextEncoder('utf-8');
const data = encoder.encode(str);
const subData = data.slice(start, start + length);
return Array.from(new Uint16Array(subData)).map(char => String.fromCharCode(char)).join('');
}
请注意,这些方法可能不适用于所有编码。在使用这些方法之前,请确保你了解字符串的编码以及如何处理它。