大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
unit8array如何同java进行交互
最近一个项目遇到了一个二维码转换的问题,厂家给的demo只有js的转换方式,其中用到了Unit8,由于实际应用场景,转换应该由后端java代码进行实现,这里记录一下实现方式。
JS对字符串操作的时候,有时候我们会用到UNIT8ARRAY,例如
var binary_string = window.atob(str);
var array= new Uint8Array(len);
for (var i = 0; i < len; i++) {
array[i] = binary_string.charCodeAt(i);
consolr.dir(array[i]);
}
接下来,比如我们想将array传入java后台,我们应该定义一个什么样的参数来接收呢,或者同样的方法,如果用java代码该如何写才能实现类似js unit8array的功能呢
遇到问题,先说一下分析解决思路。
1、读js代码,window.atob,为base64转换,而在java中,我们常用的base64转换的第一部是将str转换为byte[],所以通过这个进行推测,这个array的unit8数组,应该是java的byte[],毕竟1byte=8bit,这个unit8根据8这个数字本身,也是可以联想。
于是试验一下。
String str = "base64字符串";
byte[] bytes = Base64.getDecoder().decode(str);
int[] in1 = new int[bytes.length];
for (int i = 0; i < in1.length; i++) {
in1[i] = bytes[i];
}
对数组进行输出,发现前台js中控制台打印的信息,和后台java打印的信息是一致的。所以断定,unit8array应该对应java的btye[].
记录一下,以后设计js和后端进行交互,遇到Unit8array,后端直接使用Byte[]进行接收即可。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192577.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...