解决httplistener querystring 中文乱码、返回json中文格式乱码

解决httplistener querystring 中文乱码方案:

在请求到达时候,获取Request.Url,返回get请求参数 键值对

    public class RequestHelper
    {
        public static Dictionary<string, string> EncodeQueryString(Uri uri)
        {
            var ret = new Dictionary<string, string>();
            var q = uri.Query;
            if (q.Length > 0)
            {
                foreach (var p in q.Substring(1).Split('&'))
                {
                    var s = p.Split(new char[] { '=' }, 2);
                    ret.Add(HttpUtility.UrlDecode(s[0]), HttpUtility.UrlDecode(s[1]));
                }
            }
            return ret;
        }
    }

解决返回json中文格式乱码:

对中午json字符串进行编码 HttpUtility.UrlDecode(“中文”);

  public class ResponseHelper
    {
        public static void Respose(HttpListenerResponse response, string jsonStr = "")
        {
            byte[] buffer = Encoding.UTF8.GetBytes(jsonStr);

            response.ContentLength64 = buffer.Length;
            response.ContentType = "application/json";
            response.ContentEncoding = Encoding.UTF8;
            response.StatusCode = 200;

            Stream output = response.OutputStream;
            output.Write(buffer, 0, buffer.Length);
            //关闭输出流,释放相应资源
            output.Close();
            response.Close();
        }
    }






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值