为什么这两个字符 £ 和 ¬ 没有被正确解码

why these 2 charecters £ and ¬ is not being decoded correctly

我正在使用外部 api ,我想测试它如何接受特殊字符...所以我尝试发送以下值 :-

!"£$%^&*()_+-=[]{},./;'[]#?:@~{};:\|¬`

在外部系统中保存如下:-

!"%u00a3$%^&*()_+-=[]{},./;'[]#?:@~{};:\|%u00ac` 

这意味着外部 api 无法将 %u00a3 解码为 £ ,也无法将 %u00ac 解码为 ¬ ??虽然它能够正确解码其他值...那么它对 £¬ 的处理方式不同是有原因的吗?换句话说,它无法正确解码这两个承租人?

第二点。由于我的 api 不支持这些类型的字符,所以有没有一种方法可以检查字符串是否包含此类值并向用户显示一条错误消息,告知他们不应添加这些字符?

外部api可能使用了ASCII字符集: https://en.wikipedia.org/wiki/ASCII

由于字符 £¬ 在 ASCII 字符集中不存在, api 返回字符的 unicode 十六进制值(%u 表示它是unicode字符,00ac是字符¬).

的十六进制值

也可能是您发送值的程序或读取字符串的方式有问题。没有更多信息无法判断。