Java编码/加密/解密/安全

1、编码与解码

1.1、介绍

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

编码按适用范围可以简单分为:

  • 美国编码(ASCII)
    ASCII为基础编码,来源于美国;
    其它编码都兼容ASCII编码;
  • 欧盟编码(ISO8859-1、WINDOWS-1252)
    先是ISO-8858-1,后升级为WINDOWS-1252。两者互不兼容。
  • 中华编码(GB2312、GBK、GB18030)
    先是GB2312,接着GBK,最后是GB18030。字符数量依次扩容。
  • 中国繁体编码(BIG5)
    BIG5,主要用于港澳台。
  • 世界编码(UNICODE)
    世界编码:UNICODE,可以包括全世界所有编码,理论上可以存100多万字符。世界通用。不完全兼容基它编码。如BIG5编码的文件,用UNICODE打开后仍是乱码,但UNICODE可以显示繁体,要以UNICODE保存并打开。

在这里插入图片描述

在这里插入图片描述

1.2、URL编码

  • URL编码是编码算法,不是加密算法

  • URL编码的目的是把任意文本数据编码为%前缀表示的文本,便于浏览器和服务器处理

  • URL编码是浏览器发送数据给服务器时使用的编码,它通常附加在URL的参数部分

    例如:

    https://www.baidu.com/s?wd=%E4%B8%AD%E6%96%87

    之所以需要URL编码,是因为出于兼容性考虑,很多服务器只识别ASCII字符。但如果URL中包含中文、日文这些非ASCII字符怎么办?不要紧,URL编码有一套规则:

    • 如果字符是A`Z`,`a`z0~9以及-_.*,则保持不变;
    • 如果是其他字符,先转换为UTF-8编码,然后对每个字节以%XX表示。

    例如:字符的UTF-8编码是0xe4b8ad,因此,它的URL编码是%E4%B8%AD。URL编码总是大写。

  • Java标准库提供了一个==URLEncoder.encode()==类来对任意字符串进行URL编码:

//编码
String encoded = URLEncoder.encode("中文!", StandardCharsets.UTF_8);

URLEncoder把空格字符编码成+,而现在的URL编码标准要求空格被编码为%20,不过,服务器都可以处理这两种情况

  • 解码URLDecoder.decode
//解码
String decoded = URLDecoder.decode("%E4%B8%AD%E6%96%87%21", StandardCharsets.UTF_8);

1.3、Base64编码

  • Bas

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

土味儿~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值