class EscapeUnescape{ public static String escape (String src) { int i; char j; StringBuffer tmp = new StringBuffer(); tmp.ensureCapacity(src.length()*6); for (i=0;i<src.length() ;i++ ) { j = src.charAt(i); if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j)) tmp.append(j); else if (j<256) { tmp.append( "%" ); if (j<16) tmp.append( "0" ); tmp.append( Integer.toString(j,16) ); } else { tmp.append( "%u" ); tmp.append( Integer.toString(j,16) ); } } return tmp.toString(); } public static String unescape (String src) { StringBuffer tmp = new StringBuffer(); tmp.ensureCapacity(src.length()); int lastPos=0,pos=0; char ch; while (lastPos<src.length()) { pos = src.indexOf("%",lastPos); if (pos == lastPos) { if (src.charAt(pos+1)=='u') { ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16); tmp.append(ch); lastPos = pos+6; } else { ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16); tmp.append(ch); lastPos = pos+3; } } else { if (pos == -1) { tmp.append(src.substring(lastPos)); lastPos=src.length(); } else { tmp.append(src.substring(lastPos,pos)); lastPos=pos; } } } return tmp.toString(); } public static void main(String[] args) { String tmp="~!@#$%^&*()_+|\\=-,./?><;'][{}\""; System.out.println("testing escape : "+tmp); tmp =escape(tmp); System.out.println(tmp); System.out.println("testing unescape :"+tmp); System.out.println(unescape(tmp)); }}
分享到:
相关推荐
本主题聚焦于C#中的HTTP编码和解码,这对于处理网络请求和响应至关重要。HTTP(超文本传输协议)是互联网上应用最广泛的一种通信协议,而URL编码则是HTTP协议中的一个关键环节,用于确保非ASCII字符在网络传输中能被...
在IT领域,字符集、字符编码以及HTTP编码解码是理解和解决乱码问题的关键概念。本文将深入探讨这些概念,并提供.NET框架中的实际应用示例。 字符集是计算机系统能够识别和表示的所有字符的集合,它包括各国文字、...
如果HTTP编码格式与项目的运行编码(如IDE的项目编码设置或启动参数设置的编码)不一致,可能会导致乱码问题。 例如,如果项目使用UTF-8编码,返回的数据也是UTF-8格式,但HTTP头设置了GBK编码,接收方按照GBK解码...
提供的博客链接(http://www.cnblogs.com/geeking/)可能包含了更详细的使用指南、源代码解析以及常见问题解答,对于深入理解和使用这个工具非常有帮助。 总之,批量编码转化工具是解决跨平台、跨系统文件处理中...
同样,当发送HTTP请求时,URL编码和解码也需要注意字符集的匹配,以避免信息丢失。 文件"编程遇到的字符集问题.doc"可能包含了实际编程中遇到的字符集转换、错误处理等实例。"GB18030-ENGLISH.pdf"可能是对GB18030...
在HTTP协议中,URL是访问网络资源的重要途径,但有些字符在URL中直接使用时可能会引起问题,因此需要进行编码。本文将深入探讨URL编码的原理、规则以及在实际应用中的重要性。 URL编码主要遵循以下规则: 1. 在URL...
Base64是一种用于将二进制数据编码为ASCII字符串的方法,常用于电子邮件系统和HTTP协议中;Hexadecimal和URL编码则是为了将二进制数据转化为可读的文本形式。 Converter-cn编码工具的离线特性使其在没有网络连接的...
8. **网络编码**:在网络通信中,HTTP协议、TCP/IP协议等都涉及到数据编码。了解这些协议对编码的处理方式有助于我们理解网络数据传输的过程。 9. **压缩与解压缩**:为了节省存储空间和提高传输效率,数据通常会被...
- **配置CXF组件**:在CXF的配置文件(如cxf.xml或Spring配置文件)中,可以设置HTTP绑定的编码。例如,对于HTTP传输,可以使用`<http-conf:conduit>`标签来指定`charset_encoding`属性。 - **处理XML编码**:确保...
- **Web开发**:服务器接收到客户端发送的HTTP请求时,需要判断请求体中的字符编码格式。 - **文件处理**:读取外部文件时,需要判断文件的编码格式以正确解析内容。 - **多语言支持**:在开发国际化应用时,根据...
3. **URL编码**:在网络中,URL(统一资源定位符)中的某些字符可能与HTTP协议或者URL语法冲突,因此需要进行编码。URL编码使用百分号(%)加上两位十六进制数来表示非字母数字字符。例如,空格被编码为"%20"。这款...
http-client 解决中文编码 jar包
本文将深入探讨HTTP请求中字符编码的处理方法,包括字符编码的基本概念、常见问题、HTTP头部字段的作用,以及如何在客户端和服务器端处理字符编码。 字符编码问题在Web开发中非常常见,但通过正确的设置和处理,可以...
Java字符编码监听器是Java Web开发中的一个重要概念,主要用于处理HTTP请求和响应中的字符编码问题。在Java Servlet规范中,提供了`SetCharacterEncodingFilter`这样的过滤器,用于确保请求参数和响应内容的正确编码...
3. **URL编码**:在网络应用中,URL(统一资源定位符)可能会包含非ASCII字符,这些字符需要进行编码才能在HTTP协议中正确传输。URL编码是使用百分号(%)加上两位十六进制数来表示非ASCII字符的过程。例如,空格会...
URL编码与解码是互联网通信中的重要概念,主要用于在HTTP协议中传递特殊字符或非ASCII字符,确保数据的正确传输。URL(Uniform Resource Locator)即统一资源定位符,是互联网上的资源地址。当URL包含不能直接包含在...
比如HTTP协议中的编码规则,以及在TCP/IP协议栈中,数据在网络层被IP头部编码,传输层由TCP或UDP进行分段编码等。 压缩技术是编码的一个重要应用,如Gzip、Deflate和LZ4等,它们通过找出数据的冗余部分来减少存储...
API调用通常采用HTTP GET方式,参数包括地址或坐标,以及一些可选参数,如城市名,用于精确搜索。 例如,使用Python进行高德地理编码操作,可以编写一个名为“高德地理编码.py”的脚本,该脚本可能包含以下内容: ...
包括在web.xml配置文件中设置全局编码、在Servlet或Filter中通过HttpServletRequest和HttpServletResponse接口的setCharacterEncoding()方法来设置请求和响应的编码,或者通过HTTP头信息指定编码。 "字符编码转换...
* 操作文件或者目录,不能直接依据HTTP数据来决定路径,应该有明确的目标(范围)或者采用白名单方式。 七、安全开发规范 * 服务端在处理请求前,必须先验证数据是否合法,以及用户是否具有相关的操作权限。 * ...