今晚上在编写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格式传送字节数组了。