gpt4 book ai didi

c# - 清理 URL 中的外来字符/口音

转载 作者:太空狗 更新时间:2023-10-29 22:27:51 26 4
gpt4 key购买 nike

我需要编写一个服务器端函数来清理 URL 编码字符串。

示例查询字符串:

FirstName=John&LastName=B%F3th&Address=San+Endre+%FAt+12%2F14

当我通过 HttpUtility.UrlDecode() 传递它时,我得到:

FirstName=John&LastName=B�th&Address=San Endre �t 12/14

来自这个 SO post 的功能看起来很完美,但它期望已解码的字符串已经带有重音符号:

RemoveDiacritics('Bóth`) ==> 'Both';
RemoveDiacritics('San Endre út 12/14`) ==> 'San Endre ut 12/14';

如何在不获取所有这些 字符的情况下解码 URL?

我不能在客户端做任何事情,也不能改变它们进入我的功能的方式。

最佳答案

我同意已经提出的论点;然而,如果你总是从同一个客户端接收你的编码字符串,那么你可能会匹配他们的编码。在这种情况下,他们似乎在使用 ISO/IEC 8859-1 ,非正式地称为 Latin-1,它是最流行的 8 位字符集之一。您可以使用以下代码解码 ISO/IEC 8859-1(它将正确解码您提供的示例字符串):

HttpUtility.UrlDecode(encodedInput, Encoding.GetEncoding("iso-8859-1"));

MSDN 保证 .NET Framework 原生支持上述代码页,无论底层平台如何;请参阅 Encoding Class 支持的编码表.

关于c# - 清理 URL 中的外来字符/口音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com