精华内容
下载资源
问答
  • 空间包含表示 Web 编码器的基类、表示 HTML、JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、字符范围或码位的筛选器的类。  [ 定义来自 microsoft ] 该命名空间有五个类,用于不同对象的编码...

    System.Text.Encodings.Web

    空间包含表示 Web 编码器的基类、表示 HTML、JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、字符范围或码位的筛选器的类。

        [ 定义来自 microsoft ]

    该命名空间有五个类,用于不同对象的编码处理。

    五个类

    HtmlEncoder

    表示 HTML 字符编码。

    JavaScriptEncoder

    表示 JavaScript 字符编码。

    TextEncoder

    Web 编码器的基类。

    TextEncoderSettings

    表示仅允许特定 Unicode 码位的筛选器。

    UrlEncoder

    表示 URL 字符编码。


     

    HtmlEncoder

    HtmlEncoder 与 HtmlEncoder.Default 的方法有以下几种

    Create、Default、Equals、ReferenceEquals

    具体为

     

    我们一般只用到 HtmlEncoder.Default.Encode()

    HtmlEncoder.Default.Encode() 的用法

     微软官方的定义 

    使用 HtmlEncoder.Default.Encode 防止恶意输入(即 JavaScript)损害应用

    也就是说,会对一些符号、中文等进行编码,使它不能按照原来的形式出现。

    编码

    假设有一个新闻系统,用户可以在新闻文章下评论,如果用户评论时发表了一段恶意的 javascript 代码。

    若是系统不加以处理,那么当其他用户打开这篇新闻时,会加载这个人的评论,就会执行这段恶意的 javascript 代码。

    tmlEncoder.Default.Encode 可以把字符串中的 特殊符号(包括中文) 转为编码

    示例

    新建一个asp.net core 应用

    在控制器加入以下方法

    编译运行,打开视图

     可以看到,视图 a 的字符串按照原先的文字进行输出。而视图 b 编码后的文字会编码特殊符号。

    有编码就有解码,在这里不再赘述。


    其它四个类的使用基本一致,这里就不再赘述

    请参考

    https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encodings.web?view=netcore-2.0

     

    转载于:https://www.cnblogs.com/whuanle/p/10001247.html

    展开全文
  • web 编码和解码

    2018-02-23 11:14:53
    1.URL的编码和解码2.http header的编码和解码3.post表单的编码和解码4.http body的编码和解码

    1.URL的编码和解码

    2.http header的编码和解码

    3.post表单的编码和解码

    4.http body的编码和解码



    展开全文
  • java web 编码

    2013-07-08 14:49:32
    1.在web.xml中加入一个过滤器和过滤范围的配置 encoding com.test.base.Filter.EncodingFilter encoding /* 2.字符编码过滤的具体实现为   package com.test.base.Filter; import java.io.*; import ...


    URLEncoder.encode(sendMsg, "utf-8") 

    URLDecoder.decode(s, "utf-8")



    1.在web.xml中加入一个过滤器和过滤范围的配置

    <filter>
    <filter-name>encoding</filter-name>
    <filter-class>com.test.base.Filter.EncodingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>


    2.字符编码过滤的具体实现为

     

    package com.test.base.Filter;

    import java.io.*;
    import javax.servlet.*;

    public class EncodingFilter implements Filter {
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    try {
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");

    } catch (Exception e) {
    }

    chain.doFilter(request, response);
    }

    public void destroy() {

    }
    };


    展开全文
  • java web编码

    千次阅读 2012-10-22 11:40:51
    java web 开发 编码问题详解 浏览器 IE/FireFox -------——---->Servlet容器--------——---------------->显示页面  编码 使用容器的URIEncoding解码/request解码,再编码发出响应 解码  一、...

    java web 开发 编码问题详解

    浏览器 IE/FireFox -------——---->Servlet容器--------——---------------->显示页面 

    编码        使用容器的URIEncoding解码/request解码,再编码发出响应             解码 

    一、请求 
    我把用户发送请求方式不同引起的中文问题划分了四种类型: 

    1、表单的get提交 

    2、表单的post提交 

    3、页面链接传递中文参数(参考get提交) 

    4、地址栏中参数直接输入中文提交(不讨论,违背寻常规则,而且这种方式很难控制) 

    1.get提交 
    对于这种,影响的有tomcatURIEncoding 
    浏览器会根据自己的页面的编码格式作为起始编码格式(右击菜单编码有显示的),把字符使用浏览器的编码格式编码成byte字节进行传输。到了tomcat这里,tomcat会使用URIEncoding进行重新编码(解码),如果tomcat没有配置的话就会使用iso-8859-1byte进行重新编码(解码)成字符。如果浏览器得编码格式为UTF-8,且tomcat没有配置重新编码(解码)格式的话,就可以使用下面的方式拿到正确的字符了new String(request.getParameter("text").getBytes("iso-8859-1"),"utf-8") 上的意思就是说,把刚才的字符,用iso-8859-1进行编码成byte,还原回去,再使用uft-8byte进行重新编码(解码)成字符。(这个方法就是刚才从浏览器到tomcat过来的逆向过程) 

    2.post提交 
    对于这种情况,response.setCharacterEncoding有影响,当没有对response.setCharacterEncoding设置的时候值为null,则默认采用iso-8859-1来进行重新编码(解码)。 
    浏览器根据自己页面的编码格式作为起始编码格式,把字符进行编码成byte进行传输,到了tomcattomcat不进行干涉其中的重新编码(解码)格式。如果response.getCharacterEncodingnull,那么默认采用iso-8859-1进行重新编码(解码)成字符,如果设置了,就按照设置的编码格式进行重新编码(解码)字符。 

    jsppageEncoding="GB18030"  jsp页面的编码格式,即jsp会被解析成servlet时,采用的编码格式。如果不配置,默认采用iso-8859-1,当jsp文件保存编码类型和pageEncoding不一致时就会出现jsp内部解析乱码。Eclipse现在默认pageEncoding就是文件的编码格式,修改pageEncoding就会修改文件的编码格式。该参数还有一个功能,就是在JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时指定对服务器响应进行重新编码(解码)的编码,从而pageEncoding会影响浏览器的编码格式。 

    jspcontentType="text/html;charset=UTF-8"  的作用是指定对服务器响应进行重新编码(解码)的编码。设定浏览器的编码格式。也就是说浏览器提交数据就会使用这个编码格式。相当于response.setCharacterEncoding来改变编码,但是改变的只是jsp请求的response编码格式。不能改变里面所有其他的ajax请求的编码格式。在没有设定的情况下默认采用ISO-8859-1格式。 

    meta 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    当前面pageEncodingcontentType都没有设置的情况下,被解析成的html页面就会采用这种编码方式。来把byte解析成浏览器显示的信息。 

    jsp页面中 pageEncoding--->contentType--->meta 默认缺省。pageEncoding写了后面的都可以不用写,默认继承。 

    jsp页面中的设定编码优先级response.setCharacterEncoding--->contentType--->pageEncoding  层层覆盖。 

    request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码(解码)的编码。 
    该方法用来指定对浏览器发送来的数据进行重新编码(或者称为解码)时,使用的编码。对post方法有效。 

    使用response.setCharacterEncoding方法时,用该参数指定对服务器响应进行重新编码(解码)的编码。 

    tomcat:默认URIEncodingiso-8859-1,可以设置。设置之后,会影响get方法和页面链接传递中文的参数字符编码。 

    关于UTF-8GBK转化之间的问题 
    UTF-8转化成GBK,再从GBK转化成UTF-8的时候,偶数汉字可以在UTF-8GBK两者中互相转换,而奇数个汉字则不能。 

    关于BIG5 
    关于其他的转码问题,如果使用的是简体中文的字符,即使编码和解码都是使用BIG5,部分字符仍然无法解析,是乱码。 

    关于ISO-8859-1 
    ISO-8859-1是不支持中文的,所以就算中文字符使用ISO-8859-1进行编码,最后再用ISO-8859-1进行重新编码(解码)的话,拿到的字符也不能显示中文。即换言之,ISO-8859-1不能作为把字符变成byte的编码格式使用。 

    ajax 
    xmlHttp.responseText的请求的默认编码是UTF-8 。当然可以重新设置,通过在Request Headers中设置Content-Typeapplication/x-www-form-urlencoded; charset=utf-8。为什么ajax和之前的不同呢?因为ajax不是使用默认的浏览器跳转提交方式,而是使用httprequest提交方式,默认跳转方式会读取浏览器的编码格式,而httprequest不会,所以ajax就会设置自己的默认的编码格式进行提交,即UTF-8.而使用ajaxpost方法提交,无需再设定request的重新编码(解码)格式,因为request不再是默认的null,已经修改为UTF-8,所以不用转换直接拿出即可。而对于get方法的话,需要参考tomcatURIEncoding重新编码(解码)。 



    二、返回信息 
    response如果没有显式设置的话,不管request的编码是什么,response的编码就是ISO-8859-1 

    对于response返回的信息如:response.getWriter().println就可以看到这个编码设置的作用了。而对于使用request.setAttribute等传递数据的话,这个编码格式设置了也没用。 

    当使用response.getWriter().println打印到浏览器时,在没有设置response的时候默认为null,而在服务器端则默认使用iso-8859-1进行编码成byte,等到了浏览器,发现response的信息header中没有相关编码设置,就会去取window系统的编码格式,中文系统默认为GBK/GB2312。所以,打印出来的页面的浏览器编码格式为GB2312。而如果设置了response的编码格式,那么就算到了浏览器,浏览器解析也会按照设置的编码格式重新编码(解码)。 

    当使用response.getWriter().println打印到本地文件时,即使设置了response,在发出时,采用的是设置的编码格式编码成byte,等到了客户端,客户端会用系统的编码格式重新编码(解码)文件,对于windows默认就是GB2312/GBK,所以最好再response发出时就设置编码的格式为GBK 

    至于为什么打印到浏览器,头文件的信息就写入编码格式,而打印到本地文件,头文件中就没有写入编码格式的问题,还没有得到证实。猜测:后端传送到浏览器时,浏览器使用包含重新编码(解码)格式的。而传送文件时,没有使用重新编码(解码)格式的,使用的是操作系统的编码格式存储文件。 

    如果设置了response.setCharacterEncoding。那么就会按照这个编码格式传送到前端,浏览器并用这种方式重新编码(解码)。也就是说在传送的页面的文本信息head中的content-type已经设置成了response.setCharacterEncoding定义的编码格式,来用作重新编码(解码)。 

    ajax 
    ajax使用的是response.responseText来进行获取信息,也就是说,也是需要使用到response的编码格式的。ajax不会再对该编码格式进行任何修改。只是接受而已。 

    展开全文
  • Web编码方式

    2013-05-07 10:33:03
    1 GET和POST方法的编码,用的是网页的编码。   2 在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。   3 escape()不能直接用于URL编码,它的真正作用是返回一个字符的...
  • 配置Web 编码

    千次阅读 2013-06-03 11:09:12
    Web.xml Set UTF-8 org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 forceEncoding
  • eclipse中web编码的问题

    2017-11-19 16:06:18
    哪位大神能帮我分析一下这个问题 ![图片](https://img-ask.csdn.net/upload/201711/20/1511107512_59805.jpg)![图片](https://img-ask.csdn.net/upload/201711/20/1511107462_132153.jpg)
  • 蛙蛙推荐:WEB编码规范

    千次阅读 2004-11-15 13:09:00
    WEB编码规范 编制人:walaqi 第一章 ASP编码规范通述 ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。 静态文件编码分Script编码和HTML编码两部分。 服务器端编码则分为...
  • 理解web编码原理,解决乱码

    千次阅读 2013-06-25 11:56:02
    1. 在web中request 的生存周期是从一次request开始到本次response结束,在这个过程中对象是如何编码的,只有理解浏览器、web应用的编码解码,我们在开发过程中才可以避免乱码的困扰。 在jsp 页面中,有3中编码...
  • 我们系统对接了一个别的系统,我们需要去他们系统的数据,在我本地测试的时候,什么问题都没有正常,但是发布到Linux的时候,在页面显示查询出来的数据就乱码了.中文全都变成这个样子了,����������������...
  • 我在数据库打中文,通过表单提交的话,即使你打对了,他也返回的是错误的页面,只有你在数据库插入英文,你再输入正确的英文,他才会跳转成功页面,请问下各位大神,我这是要修改哪里的编码集。我把eclipse中和 ...
  • http://topic.csdn.net/u/20081111/15/954dc803-9d6e-4f83-838f-f7658560f4b0.html 要解决以上问题,最好解决方案就是设置一个字符集编码filter。
  • // 浏览器将采用显示的编码方式进行URL编码发送  response.setContentType("text/html;charset=UTF-8");//指定传输编码方式和显示编码方式  PrintWriter out = response.getWriter(); // out.println("; charset...
  • web文件编码格式设置

    2019-09-03 14:45:38
    Web编码格式设置 一、web页面编码格式 1.jsp页面编码: jsp文件本身的编码(pageEncoding) <%@ page pageEncoding="UTF-8"%> 2.web页面显示编码: jsp的输出流在浏览器中显示的编码(contentType) <%@ ...
  • Java Web安全编码

    2020-02-17 23:35:46
    JAVA Web安全编码规范要求 Java Web安全编码 输入与输出数据验证 身份认证和访问控制
  • web请求编码

    2016-11-13 10:29:50
    web请求编码的问题  一 请求处理的基本过程  http请求的处理过程  浏览器或http客户端把 URL(包括post/get提交的内容)经过编码发送给web容器   web容器的connector解码URL和其中包含的post/get提交的...
  • Java web编码问题解析

    千次阅读 2013-06-06 14:53:50
     这里,分享一下我对java web编码的认识,以及乱码的解决方法。 当一个用户从浏览器端发送一个HTTP请求时,这是需要一系列的编码:URL、Cookie、Paramiter。URL就是浏览器地址栏里的网页地址,Cookie先不说,...
  • Web前端编码规范

    千次阅读 2015-04-22 00:03:36
    文件编码 所有文件都使用无 BOM 的 UTF-8 编码。 缩进 使用4个空格缩进。 Tab 在不同的操作系统下长度可能不同,为了代码在任何情况下都缩进一致要使用空格。 在所有的IDE工具中,都可以设置1个Tab键转换成4个...
  • 再谈java web中文编码问题,这次稍微有些复杂,先说遇到的问题。 一、遇到的问题 1、用ajax中的load方法加载文件  $("#customerTypeLevelRelList").load("/jsp_lib/store/web/customerPrice.jsp", {...
  • 解析WEB开发编码问题

    千次阅读 2010-12-06 10:40:00
    解析WEB开发编码问题
  • 简单web项目编码问题

    2013-11-05 16:11:52
    很多初学者在学习web时,很容易出现中文编码问题,又不知道怎么解决,在此,我告诉大家几个关键点注意一下,即可解决。 总体上讲,只要显示的文字是对应的编码即可,如果信息为UTF-8,你非要显示ISO-8859-1,文字...
  • web开发编码问题

    2012-10-16 19:20:58
    编码简介 ISO-8859-1 :属于单字节编码,最多能表示的字符范围是0-255,应用于英文系列,无法表示中文。 UTF-8:utf编码兼容iso8859-1编码,英文用一个字节表示,中文用三个字节表示,可以用来表示所有语言的...
  • web应用程序编码方案

    2018-07-19 10:28:51
    WEB应用程序编码方案 URL编码 URL只允许ASCII字符集中的可打印字符(0x20-0x7e),由于其在URL方案或HTTP协议中的特殊含义,这个范围内的一些字符也不可以用于URL中。URL编码方案主要用于将扩展ASCII字符集中有问题...
  • java Web编码问题

    千次阅读 2019-06-12 20:25:28
    首先,说说JSP/Servlet中的几个编码的作用。    在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding=“UTF-8”、contentType=“text/html;charset=UTF-8”、request.setCharacterEncoding(“UTF-8”)...
  • web请求编码的问题  一 请求处理的基本过程  http请求的处理过程  浏览器或http客户端把 URL(包括post/get提交的内容)经过编码发送给web容器   web容器的connector解码URL和其中包含的post/get提交的...
  • Web项目-编码

    2018-08-17 21:18:49
    服务器可以使用setHeader()方法来设置名为Content-Type的响应头,这个头给了浏览器,浏览器就知道服务器使用的是什么编码了 response.setHeader("Content-Type","text/html;charset=utf-8"); ...
  • Java Web中文编码问题

    千次阅读 2017-12-29 19:05:09
    为什么要编码? 在计算机中存储信息的最小单元是1个字节,即8个bit,所以能表示的字符范围是0~255个。 人类要表示的符号太多,无法用1个字节来完全表示。 解决这个矛盾必须要有一个新的数据结构char,而从char到byte...
  • 一、统一jsp文件字符集编码 (1)编码分类: a.设置jsp文件的编码(jsp文件中的pageEncoding属性): jsp -> java b.设置浏览器读取jsp文件的编码(jsp文件中content属性) 一般将上述设置成 一致的编码,推荐...
  • Web开发编码助手

    2007-07-16 08:53:00
    Web开发编码助手.htm http://dl2.csdn.net/down4/20070716/16090641549.zip用js实现了以下功能HTML EncodeHTML DecodeURL EncodeURL DecodeUnicode EncodeUnicode Decode 

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,082
精华内容 10,032
关键字:

web编码