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