C# 为什么这两个角色£;和¬;没有被正确解码
我正在使用一个外部api,我想测试它如何接受特殊字符。。。因此,我尝试发送以下值:-C# 为什么这两个角色£;和¬;没有被正确解码,c#,html,asp.net,http,urlencode,C#,Html,Asp.net,Http,Urlencode,我正在使用一个外部api,我想测试它如何接受特殊字符。。。因此,我尝试发送以下值:- !"£$%^&*()_+-=[]{},./;'[]#?:@~{};:\|¬` 在外部系统中保存的信息如下:- !"%u00a3$%^&*()_+-=[]{},./;'[]#?:@~{};:\|%u00ac` 这意味着外部api无法将%u00a3解码为,也无法将%u00ac解码为,??虽然它能够正确解码其他值。。。那么,它对()和()的处理有什么不同的原因吗?换句话说,它无法正确解码这两个租
!"£$%^&*()_+-=[]{},./;'[]#?:@~{};:\|¬`
在外部系统中保存的信息如下:-
!"%u00a3$%^&*()_+-=[]{},./;'[]#?:@~{};:\|%u00ac`
这意味着外部api无法将%u00a3
解码为
,也无法将%u00ac
解码为,
??虽然它能够正确解码其他值。。。那么,它对(
)和(
)的处理有什么不同的原因吗?换句话说,它无法正确解码这两个租船人
第二点。由于我的api不支持这些类型的字符,因此有没有办法检查字符串是否包含这些值,并向用户显示一条错误消息,说明他们不应添加这些字符?外部api可能使用ASCII字符集: 由于字符
和
在ASCII字符集中不存在,api返回字符的unicode十六进制值(%u
表示它是unicode字符,00ac
,这是字符的十六进制值,
)
发送值的程序或读取字符串的方式也可能有问题。没有进一步的信息就说不出来。你是如何解码的???@Steve我正在使用UriBuilder(apiurl);其中APIRL将包含API的uri和传递的参数,包括£和值。我认为这是一个有效点。。。那么有没有办法阻止用户添加这样的值呢?我的意思是,我可以检查字符串是否包含非ASCII字符,如¨和¨并向用户显示错误消息吗?@johnG我真的不太了解c sharp或html,所以你应该向其他人询问,或者搜索是否已在其他问题中得到回答。