带有String.fromCharCode与'0x'的TypeScript错误

时间:2018-11-15 00:12:20

标签: typescript

我需要任何建议来解决这个问题! 错误:

  

('0x'+ p1);

错误日志:

 TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.

代码:

export function encodeString(str): any {
  // first we use encodeURIComponent to get percent-encoded UTF-8,
  // then we convert the percent encodings into raw bytes which
  // can be fed into btoa.
  return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
    function toSolidBytes(match, p1) {
      return String.fromCharCode('0x' + p1);
    }));
};

1 个答案:

答案 0 :(得分:2)

那呢:

return String.fromCharCode(parseInt('0x' + p1, 16));

您需要使用parseInt(16表示十六进制)将UTF-8代码字符串转换为整数。然后,将其传递给String.fromCharCode()函数。

希望有帮助。