博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# URL 中文编码与解码
阅读量:6911 次
发布时间:2019-06-27

本文共 765 字,大约阅读时间需要 2 分钟。

参考资料

非常蛋疼的事情, google 和 baidu 在编码是分别采用了 UTF-8 和 GB2312

基础知识

UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节。 

不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节。

自动解码

public static string MyUrlDeCode(string str, Encoding encoding){    if (encoding == null)    {        Encoding utf8 = Encoding.UTF8;        //首先用utf-8进行解码                            string code = HttpUtility.UrlDecode(str.ToUpper(), utf8);        //将已经解码的字符再次进行编码.        string encode = HttpUtility.UrlEncode(code, utf8).ToUpper();        if (str == encode)            encoding = Encoding.UTF8;        else            encoding = Encoding.GetEncoding("gb2312");    }    return HttpUtility.UrlDecode(str, encoding);}

  

More

谨慎使用 Request["foo"] 获取参数,反正就是各种bug

还是自己一个参数一个参数的提取安全些

 

转载于:https://www.cnblogs.com/qxoffice2008/p/4012844.html

你可能感兴趣的文章
MongoDB复制选举原理以及复制集的管理
查看>>
JavaScript对象的数据属性与访问器属性
查看>>
柯理化学习笔记(一)
查看>>
CSS定位
查看>>
Rxjava
查看>>
带宽叠加+负载均衡
查看>>
蓝绿发布的整个部署过程
查看>>
【安全牛学习笔记】使用 USB 设备来安装系统
查看>>
YUM仓库服务
查看>>
Linux运维学习之自制简单linux小系统
查看>>
linux日常运维(crond,systemd,chkconfing,unit,target)
查看>>
Ansible playbook及 示例
查看>>
企业营业执照OCR识别
查看>>
给图片加水印
查看>>
我的友情链接
查看>>
AIX系统中适用于ksh的循环语句
查看>>
Nginx 配置详解
查看>>
什么是ARP攻击及ARP欺骗的种类
查看>>
MAC 安装cocoapods 遇到问题
查看>>
abstract class和interface有什么区别?
查看>>