ここの表を見ると、実際には機能しない Unicode 文字のエスケープ シーケンスのリストがあります。
たとえば、「%96」は – である必要がありますが、デコードしようとするとエラーが発生します。
decodeURIComponent("%96");
URIError: URI malformed
「–」をエンコードしようとすると、実際には次のようになります。
encodeURIComponent("–");
"%E2%80%93"
インターネットで検索したところ、このページを見ました。これには、それぞれdecodeURIComponentとencodeURIComponentでエスケープとアンエスケープを使用することが記載されています。何を試しても %96 が「–」として表示されず、もちろんこれはうまくいかないため、これは役に立たないようです:
decodeURIComponent(escape("%96));
"%96"
あまり役に立ちません。
JavaScript で "%96" を "–" にするにはどうすればよいですか (遭遇する可能性のあるすべてのユニコード文字のマップをハードコーディングする必要はありません)。