http方式传递参数值转义或乱码的处理(base64)

如果通过http方式传递参数url编码了,可用urlEncode和urlDecode,这种方式不同开发语言编码出来的可能不同,所以不同开发语言最好用base64编码和解码来处理:

base64加密:

/// <summary>
        /// Base64加密
        /// </summary>
        /// <param name="source">待加密的明文</param>
        /// <returns></returns>
        private string EncodeBase64(string source)
        {
            string encode = "";
            byte[] bytes = Encoding.UTF8.GetBytes(source);
            try
            {
                encode = Convert.ToBase64String(bytes);
            }
            catch
            {
                encode = source;
            }
            return encode;
        }

base64解码:

/// <summary>
        /// BASE64解码
        /// </summary>
        /// <param name="sourceStr"></param>
        /// <returns></returns>
        private static string Base64StringDecode(string sourceStr)
        {
            byte[] buf = Convert.FromBase64String(sourceStr);
            return Encoding.UTF8.GetString(buf);
        }

时间: 2024-09-26 20:09:27

http方式传递参数值转义或乱码的处理(base64)的相关文章

ASP.NET使用Jquery-Ajax向ashx传递参数中文出现乱码

今天遇到个问题,IE11下Jquery-Ajax向ashx传递参数中文出现乱码,但在谷歌.火狐.360等浏览器中没有乱码的问题,百度了好久最后发现使用escape()对参数值进行处理就可以了: 参考代码: 1 function SetGoodsName() { 2 3 $("input[id$='GoodsName']").val(val); 4 5 $.ajax({ 6 7 type: "get", 8 9 url: "../ashx/GetConfig

JS传递中文参数出现乱码的解决办法

一.window.open() 乱码: JS中使用window.open("url?param="+paramvalue)传递参数出现乱码,提交的时候,客户端浏览器URL中显示参数是正确的, 但是传到了服务器端是是乱码.这种情况下需要在客户端对该参数进行编码,然后在服务器端解码即可. 1.JS客户端编码: var selStr=document.getElementsByName('selStr')[0].value; selStr=encodeURI(encodeURI(selStr

HTML使用post方式提交中文内容出现乱码的错误解决方式

今天在做一个例子的时候,使用post方式提交表单,如果有中文的话,在另一个页面显示出来的时候,总是会出现乱码: 但是将提交方式改为get的时候,就不会出现这种错误. 详细错误见下面图片和代码. HTML代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数

//delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,while, repeat等循环体continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行 Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码). Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = Raise

ajax get方式传递参数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS</title> <style> #box{ width:600px; height:200px; padding:20px; border:1px solid #999; } </style> </head> <

SSH通过超链接传递中文参数出现乱码问题

通过超链接传递中文参数出现乱码问题 tomcat中的server.xml文件中修改如下配置: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

ajax post方式传递参数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS</title> <style> #box{ width:600px; height:200px; padding:20px; border:1px solid #999; } </style> </head> <

解决浏览器向服务器传递参数时中文乱码问题

解决Get方式的中文参数的乱码问题: 方式1: 前提是Tomcat是默认的配置: key = new String(key.getBytes("iso8859-1"), "utf-8"); 方式2: 在Tomcat的server.xml中设置: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPo

url 传递过程的中文乱码问题

//输入产品的类型的id private int productId; //输入上级代理人的登陆账号 private String loginName; //输入所属的公司的id private int branchtId; //输入 购买黄金数量 private int quantity; //输入输出 银行账号 private String bankAccount; //输入输出 银行名称 private String bankName; //输入输出 地址 private String a