今晚上在编写udp传输文件的时候发现无法用JSON传输字节数组,试了很多种办法都会报错,最后查资料找到了Base64这个类,这个类可以将字节数组转为字符串,在JSON中传输以后可以再转化为字节数组。
写个小例子如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package test; import java.util.Base64; public class testStringAndbyte { public static void main(String[] args) { // TODO Auto-generated method stub byte [] s1 = { 0 , 1 , 0 }; String FileBuf = Base64.getEncoder().encodeToString(s1); System.out.println(FileBuf); byte [] s2 = {}; s2 = Base64.getDecoder().decode(FileBuf); for ( int i = 0 ;i<s2.length;i++) { System.out.print(s2[i]); } } } |
运行结果如下所示:
这样的话就可以使用JSON格式传送字节数组了。