URL解码unicode字符(%EF%AC%81需要“fi”作为两个字母而不是unicode符号)

URL解码unicode字符(%EF%AC%81需要“fi”作为两个字母而不是unicode符号),unicode,character,ascii,uri,decode,Unicode,Character,Ascii,Uri,Decode,我正在对包含以下内容的字符串使用decodeURIComponent()函数: "%EF%AC%81" 当解码时,它给我“fi”,这就是我想要的。但是(请原谅不正确的术语,我不确定这件事),它似乎没有给出正确的编码字符。由于生成的字符串随后与正则表达式一起用于删除任何非字母数字的内容,因此“fi”也将被删除。我尝试将短语“find?”传递给我的正则表达式,它返回“find”,因此应该可以工作 有没有办法将%EF%AC%81转换为常规字符,即“f”和“i”而不是“fi”,它似乎是“拉丁小连字fi

我正在对包含以下内容的字符串使用
decodeURIComponent()
函数:

"%EF%AC%81"
当解码时,它给我“fi”,这就是我想要的。但是(请原谅不正确的术语,我不确定这件事),它似乎没有给出正确的编码字符。由于生成的字符串随后与正则表达式一起用于删除任何非字母数字的内容,因此
“fi”
也将被删除。我尝试将短语
“find?”
传递给我的正则表达式,它返回
“find”
,因此应该可以工作


有没有办法将
%EF%AC%81
转换为常规字符,即
“f”
“i”
而不是
“fi”
,它似乎是“拉丁小连字fi”。

Alex的评论是答案,我使用了
.normalize(“NFKD”)
函数,得到了“fi”作为两个字符。

Alex的评论就是答案,我使用了
.normalize(“NFKD”)
函数并将“fi”作为两个字符。

“fi”。normalize(“NFKD”)
将分解为
“fi”
,但IE中没有支持
EF AC 81
fi
(U+FB01拉丁小连字fi)的UTF-8编码形式字符,它是单个字符,而不是您要查找的两个字符
f
i
。就像亚历克斯说的,你必须得到你想要的。昨天尝试了亚历克斯的答案,效果非常好。如何将其标记为答案,并将此问题标记为已解决?
“fi”。normalize(“NFKD”)
将分解为
“fi”
,但IE
中不支持EF AC 81
fi
(U+FB01拉丁小连字fi)字符的UTF-8编码形式,该字符是单个字符,不是您要查找的两个字符
f
i
。就像亚历克斯说的,你必须得到你想要的。昨天尝试了亚历克斯的答案,效果非常好。我该如何将其标记为答案,如何将此问题标记为已解决?