测试网页调用本地可执行程序(续1:解析参数中的中文编码)

  学习测试网页调用本地可执行程序还遗留一个问题,即网页中调用带中文参数的命令时,本地可执行程序接收到的参数字符串里的中文都转换成了编码模式,看起来如下所示:

html 复制代码
<a href = 'TestPageCall:-a你好'>启动测试程序</a><br />


  针对.net framework和.net core找到两种解码方式,百度"C# url解码",前几页结果中的绝大部分文章都采用第一种方式解码。

1、HttpUtility

  .net自带的System.Web.HttpUtility类中的UrlDecode函数支持解码url中的中文编码,其函数原型如下所示,解码效果如下:

csharp 复制代码
	public static string? UrlDecode(string? str);
	public static string? UrlDecode(string? str, Encoding e);
	public static string? UrlDecode(byte[]? bytes, int offset, int count, Encoding e);
	public static string? UrlDecode(byte[]? bytes, Encoding e);
2、Common.Utility

  微信公众号"DotNet开发跳槽"中介绍了github上比较全面的C#帮助类Common.Utility(参考文献4),其中自带的HtmlHelper类支持url编码和解码(调用的System.Web.HttpContext.Current.Server .UrlEncode和UrlDecode函数编码和解码),但Common.Utility是.net framework 4编写的,无法直接在.net 6的项目中使用,.net framework版本的项目可以考虑调用(关于.net framework和.net core相互调用的说明可见参考文献5)。

  百度到一网站可以做在线编码和解码,有需求的也可以试试,地址见参考文献3。

参考文献:

1https://blog.csdn.net/m0_55074611/article/details/131108694

2https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767914(v=vs.85)

3https://tool.chinaz.com/tools/urlencode.aspx

4https://github.com/laochiangx/Common.Utility

5https://stackoverflow.com/questions/45260792/use-net-core-with-legacy-net-framework-dlls

相关推荐
呆呆敲代码的小Y5 小时前
【游戏开发】Lua 与 C# 交互原理解析
c#·lua·交互·热更新·lua与c#交互·游戏热更新
用户298698530145 小时前
PDF 转纯文本(TXT)免费攻略:轻松提取文字内容
人工智能·后端·c#
呆呆敲代码的小Y5 小时前
【游戏开发】C# 中的迭代器
java·开发语言·c#·迭代器
格林威1 天前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
J总裁的小芒果1 天前
参数过多-分批传参
c#
典典分享指南1 天前
短视频分镜提示词:让 AI 出片的产品口播
java·c#·bash·composer·symfony
Z5998178411 天前
c#软件开发学习笔记--WPF(Canvas、数据绑定、MVVM模式、值转换器)
笔记·学习·c#
淡海水1 天前
05-03-栈队列-PriorityQueue-TElement-TPriority-NET6优先队列语义与四叉堆实现
服务器·前端·c#·priorityqueue·clr·telement
leonkay2 天前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发