java中编码与解码分别指什么?

 我来答
惠企百科
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

java中编码:URLEncoder.encode(strUri,"utf-8");

java中解码码:URLDecoder.decode(strUri,"utf-8");

java编码和解码          

  1. 流读取文件,具有转换编码功能的有:OutputStreamWriter和InputStreamReader,

    构造器有如:

    InputStreamReader(InputStream in, String charsetName)

    创建使用指定字符集的 InputStreamReader。

    OutputStreamWriter(OutputStream out, String charsetName)

    创建使用指定字符集的 OutputStreamWriter。

  2. 处理字符串编码问题:

    重新对获取的字符串进行编码:Byte[] bytes = str.getBytes(String encodeCharsetNam);

    重新对bytes进行解码,创建新的字符串对象:str = new String(Byte[] bytes,String decodeCharsetName);

    一般结合使用:str = new String(str.getBytes(String encodeCharsetName),String decodeCharsetName);

    例如:resultName=new String(username.getBytes("ISO-8859-1"),"UTF-8");

    还可以加入判断:

    if(!Charset.forName("gbk").newEncoder().canEncode(str)){str = new Strin(str.getBytes("ISO-8859-1"),"UTF-8");}else{str = new String(str.getBytes("ISO-8859-1"),"gbk");}

  3. 处理请求参数传递编码问题:

    java中编码:URLEncoder.encode(strUri,"utf-8");

    java中解码码:URLDecoder.decode(strUri,"utf-8");

    js中编码:encodeURIComponent(strUri);encodeURI(strUri);escape(str);

    js中解码:decodeURIComponent(strUri);decodeURI(strUri);unescape(str);



  4. 补充概念

    • URI组件:主机、端口、路径、查询参数、片段等。

    • URI组件分隔符::/?#&[]@,冒号用于分隔协议和主机,/用于分隔主机和 路径,?用于分隔路径和查询参数,&用于分隔多个查询参数等。

    • URI中的不安全字符或保留字符: ! * ‘ ( ) ; : @ & = + $ , / ? # [ ] 他们具有特殊作用,例如上面的分隔作用。

    • URI允许出现的字符:只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符,其他字符均需要经过编码之后才能出现在Url中,比如使用保留字符的原意,而不是特殊作用。


    js向java/jsp的编码与解码:

    • js中编码:encodeURI(encodeURI(strUri));decodeURIComponent(decodeURIComponent(strUri));

    • java/jsp中解码: java.net.URLDecoder.decode(strUri,"UTF-8");

    • js中编码两次的问题:如果使用一次编码,在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码值,两位两位取出后进行解码。

    • 然后再传递给处理页面,然后由处理页面进行再次解码,这样前面就缺少了一次编码过程,所以前面需要连续两次编码。

上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
编码是将源对象内容按照一种标准转换为一种标准格式内容。 解码是和编码对应的,它使用和编码相同的标准将编码内容还原为最初的对象内容。 编解码的目的最初是为了加密信息,经过加密的内容不知道编码标准的人很难识别,已经有数千年历史了。 而现在编解码... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式