URLEncoder类静态方法encode的使用

URLEncoder类静态方法encode(String s, String enc)简介

主要用于HTML表单编码的实用类, 可将包含将String转换为application/x-www-form-urlencoded MIME格式的静态方法

该类方法:

public static String encode(String s, String enc)

使用特定的编码方案将字符串转换为 application/x-www-form-urlencoded格式,不推荐使用encode(String s),因为字符串可能会因平台的默认编码会有所不同,因此最好明确指定

Java中编码示例

		String name="contain中文的字符串";
		String ss = URLEncoder.encode(name, "utf-8");
//		contain%E4%B8%AD%E6%96%87%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2

Javascript解码示例

		var oristr = "contain%E4%B8%AD%E6%96%87%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2";
		var newstr = decodeURIComponent(oristr);
//		contain中文的字符串	
		alert(newstr);

encodeURIComponent(param)

Javascript中内置函数,函数可把字符串作为 URI 组件进行编码,
该方法不会对 ASCII 字母和数字进行编码,也不会对 ASCII 中这些标点符号 比如- _ . ! ~ * ’ ( )进行编码,对于其他字符`比如;/??&=+$,#,这些用于分隔 URI 组件的标点符号),会被一个或多个十六进制的转义序列替换

根据官方文档,URLEncoder类编码字符串时,适用以下规则:

  • a ”至“ z ”,“ A ”至“ Z ”和“ 0 ”至“ 9 ”保持不变。
  • 特殊字符“ . ”,“ - ”,“ * ”和“ _ ”保持不变。
  • 空格字符“”被转换为加号“ + ”。
  • 所有其他字符都不安全,并且首先使用一些编码方案将其转换为一个或多个字节。 然后每个字节由3个字符串“ %xy ”表示,其中xy是字节的两位十六进制表示。 推荐使用的编码方案是UTF-8。 但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码。

例如,使用UTF-8作为编码方案,字符串“Ã@ foo-bar”将被转换为“The + string +%C3%BC%40foo-bar”,因为在UTF-8中,字符¼被编码为2字节C3(十六进制)和BC(十六进制),字符@被编码为一个字节40(十六进制)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值