Gre*_*reg 5 c# asp.net string asp.net-4.0
我需要编写一个服务器端函数来清理URL编码的字符串.
示例查询字符串:
FirstName=John&LastName=B%F3th&Address=San+Endre+%FAt+12%2F14
Run Code Online (Sandbox Code Playgroud)
当我通过时,HttpUtility.UrlDecode()我得到:
FirstName=John&LastName=B?th&Address=San Endre ?t 12/14
Run Code Online (Sandbox Code Playgroud)
这个SO帖子的功能看起来很完美但是它需要已经有重音的已解码字符串:
RemoveDiacritics('Bóth`) ==> 'Both';
RemoveDiacritics('San Endre út 12/14`) ==> 'San Endre ut 12/14';
Run Code Online (Sandbox Code Playgroud)
如何在不获取所有这些?字符的情况下解码URL ?
我不能做任何客户端或改变他们进入我的功能的方式.
我同意已经提出的论点; 但是,如果您始终从同一客户端接收编码字符串,则可以匹配其编码.在这种情况下,它们似乎使用ISO/IEC 8859-1,非正式地称为Latin-1,它是使用中最流行的8位字符集之一.您可以使用以下代码解码ISO/IEC 8859-1(这将正确解码您提供的示例字符串):
HttpUtility.UrlDecode(encodedInput, Encoding.GetEncoding("iso-8859-1"));
Run Code Online (Sandbox Code Playgroud)
MSDN保证.NET Framework本身支持上述代码页,无论底层平台如何; 请参阅编码类支持的编码表.
| 归档时间: |
|
| 查看次数: |
2350 次 |
| 最近记录: |