Если все, что вам нужно, это любая кодировка Unicode с экранированием URL-адреса, это поможет:
function convert(s) {
function parse(a, c) {
return String.fromCharCode(parseInt(c, 16));
}
return encodeURIComponent(s.replace(/%u([0-f]{4})/gi, parse));
}
convert('te%u0301st'); // => te%CC%81st
Если вам конкретно нужна обычная форма C, вам нужно реализовать целуюмного интеллекта Unicode самостоятельно, так как 'te\u0301st'.length
(или 'tést'.length
) равен 5 в javascript.