Eug*_*ene 16
最简单的方法是提供一个例子(恕我直言):
Base64.Encoder enc = Base64.getEncoder();
Base64.Encoder encURL = Base64.getUrlEncoder();
byte[] bytes = enc.encode("subjects?_d".getBytes());
byte[] bytesURL = encURL.encode("subjects?_d".getBytes());
System.out.println(new String(bytes)); // c3ViamVjdHM/X2Q= notice the "/"
System.out.println(new String(bytesURL)); // c3ViamVjdHM_X2Q= notice the "_"
Base64.Decoder dec = Base64.getDecoder();
Base64.Decoder decURL = Base64.getUrlDecoder();
byte[] decodedURL = decURL.decode(bytesURL);
byte[] decoded = dec.decode(bytes);
System.out.println(new String(decodedURL));
System.out.println(new String(decoded));
Run Code Online (Sandbox Code Playgroud)
注意一个是哪个URL safe,另一个不是.
事实上,如果你看一下实现,有两个用于编码的查找表:toBase64和toBase64URL.只有两个字符不同:
+而/对于toBase64与-和_的toBase64URL.
所以看来你的问题是一个安全的URI,应该在那里使用?; 答案是肯定的.
| 归档时间: |
|
| 查看次数: |
8972 次 |
| 最近记录: |