Groovy中 Base64 URL和檔名安全編碼
阿新 • • 發佈:2019-08-19
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!'
用