"<hello>world</hello>"
转成
"<hello>world</hello>"
urlencode的目的:将url中的特殊字符转义,让浏览器方便处理,比如空格、加号等
(url只能使用ASCII character-set,除此之外,都要转义)
"hello+world = hello world"
转成
"hello%2Bworld+%3D+hello+world"
除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。
json的Marshal 用来对slice,map,struct等结构化类型数据转义成[]byte/string,UnMarshal方法是用来对[]byte/string转义成指定结构的interface。但在处理html标签字符中,会存在转义问题。Marshal方法默认把html标签中的'<', '>' , '&'字符转义成unicode,为强制为有效UTF-8的JSON字符串,用Unicode替换符号替换无效字节。
go doc原文
Marshal的源码
这一行encOpts{escapeHTML: true}),这里的true导致标签被转义。
针对上述问题,有两种解决办法,第一种是替换上述三个tag,第二种是SetEscapeHtml(false);
输出:
编码中文 unicode字符到 html 编码格式的。比如 你在浏览器中 输入 http://hi.biadu.com/你想干什么/这样感觉不好
这时就需要用
string url = Server.HTMLEncode( "http://hi.biadu.com/你想干什么/" )
然后就可以用下面语句来跳到那个网页上去。
Server.Redirect(url)
编码后的中文字符都会变成 %CE%D2%CA%C7&什么的,
你试一下就知道了
另外就是 可以把< >等不安全的字符串改成 html编码, 这样在客服端呈现出来的时候才能避免不正常的显示。
string url = Server.HTMLEncode( "<input type = input value=hahahha>" )
textBox1.text = url
这是MNSDN的解释
The HTMLEncode method applies HTML encoding to a specified string. This is useful as a quick method of encoding form data and other client request data before using it in your Web application. Encoding data converts potentially unsafe characters to their HTML-encoded equivalent.
If the string to be encoded is not DBCS, HTMLEncode converts characters as follows:
The less-than character (<) is converted to <.
The greater-than character (>) is converted to >.
The ampersand character (&) is converted to &.
The double-quote character (") is converted to ".
Any ASCII code character whose code is greater-than or equal to 0x80 is converted to <number>, where <number>is the ASCII character value.
If the string to be encoded is DBCS, HTMLEncode converts characters as follows:
All extended characters are converted.
Any ASCII code character whose code is greater-than or equal to 0x80 is converted to <number>, where <number>is the ASCII character value.
Half-width Katakana characters in the Japanese code page are not converted.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)