Groovy中 Base64 URL和文件名安全编码

Groovy从2.5.0版本开始提供了Base64 URL和文件名安全编码功能,允许对字节数组进行安全编码和解码。通过对象方法,我们可以轻松操作编码和解码的值。以下Groovy代码示例展示了如何进行这种编码和解码操作。

Base64 URL和文件名安全编码

Groovy支持Base64编码很长一段时间。 从Groovy 2.5.0开始,我们还可以使用Base64 URL和Filename Safe编码来使用encodeBase64Url方法对字节数组进行编码。 结果是一个Writable对象。 我们可以在Writable对象上调用toString方法来获得String值。 可以使用添加到String类的decodeBase64Url方法使用相同的编码对编码的String值进行解码。

在下面的示例Groovy代码中,我们对字节数组进行编码和解码:

import static java.nio.charset.StandardCharsets.UTF_8
 
def message = 'Groovy rocks!'
 
// Get bytes array for String using UTF8.
def messageBytes = message.getBytes(UTF_8)
 
// Encode using Base64 URL and Filename encoding.
def messageBase64Url = messageBytes.encodeBase64Url().toString()
 
// Encode using Base64 URL and Filename encoding with padding.
def messageBase64UrlPad = messageBytes.encodeBase64Url(true).toString()
 
assert messageBase64Url == 'R3Jvb3Z5IHJvY2tzIQ'
assert messageBase64UrlPad == 'R3Jvb3Z5IHJvY2tzIQ=='
 
// Decode the String values.
assert new String(messageBase64Url.decodeBase64Url()) == 'Groovy rocks!'
assert new String(messageBase64UrlPad.decodeBase64Url()) == 'Groovy rocks!'

用Groovy 2.5.0编写。

转载于:https://my.oschina.net/wstone/blog/3094479

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值