【发布时间】:2019-08-17 17:30:00
【问题描述】:
我有这段代码可以生成 UBJSON 字节数组
UBObject obj = UBValueFactory.createObject();
obj.put("appId", UBValueFactory.createString("70cce8adb93c4c968a7b1483f2edf5c1"));
obj.put("apiKey", UBValueFactory.createString("a65d8f147fa741b0a6d7fc43e18363c9"));
obj.put("entityType", UBValueFactory.createString("Todo"));
obj.put("entityId", UBValueFactory.createString("2-0"));
obj.put("blobName", UBValueFactory.createString("blobName"));
ByteArrayOutputStream out = new ByteArrayOutputStream();
UBWriter writer = new UBWriter(out);
try {
writer.write(obj);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
// Byte array of UBJSON
byte[] ubjsonBytes = out.toByteArray();
问题是,这里可以对字节数组进行的最短字符串编码是什么,可以通过 HTTP URL 使用和传输?使用 Base64 非常适合作为 URL 路径或查询参数,但会产生相当长的字符串。
【问题讨论】: