js unit8array和java变量之间的关系

js unit8array和java变量之间的关系unit8array如何同java进行交互最近一个项目遇到了一个二维码转换的问题,厂家给的demo只有js的转换方式,其中用到了Unit8,由于实际应用场景,转换应该由后端java代码进行实现,这里记录一下实现方式。JS对字符串操作的时候,有时候我们会用到UNIT8ARRAY,例如varbinary_string=window.atob(str);vararray=new…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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[]进行接收即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192577.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux下使用vsftpd架设FTP服务器过程

    Linux下使用vsftpd架设FTP服务器过程FTP可以通过很多软件实现,我们linux下面最常用的FTP服务器架设使用vsftpd软件vsftpd是一个基于GPL发布的FTP服务器软件。其中的vs是“VerySecure”的缩写,由此名称缩写可以看出,本服务器的初衷就是服务的安全性。当然,vsftpd也是REDHAT默认安装的ftp服务器软件后台进程:vsftpd类型:SystemV服务使用端口:2…

    2022年7月21日
    8
  • python爬虫–异步

    python爬虫–异步

    2021年4月16日
    159
  • li清除圆点_li标签的添加圆点

    li清除圆点_li标签的添加圆点不管是ul还是ol中的li前面始终有个小圆点,以前没有发现问题,都是直接给ul增加list-style:none;属性,可今天屡试不爽的属性出现问题了,上图通过两张截图可以清晰的看到虽然小圆点去掉了,但是还是占着位置。典型的占着**不**,而且还影响视图效果,怎么办?先看看样式,里面没有margin或者padding这类的东东,然后看看盒模型,果然:从盒模型可以看到ul有个padding,外围有m…

    2022年10月28日
    0
  • Vue生命周期钩子(三)「建议收藏」

    Vue生命周期钩子(三)「建议收藏」Vue生命周期图Vue中共有11个生命周期函数,本文只说明8个生命周期钩子beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data和methods属性created:实例已经在内存中创建完毕,此时 data 和 methods 已经创建完毕,此时还没有开始编译模板beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中…

    2022年6月13日
    27
  • 左连接 ,右连接,内连接和全外连接的4者区别[通俗易懂]

    左连接 ,右连接,内连接和全外连接的4者区别[通俗易懂]基本定义:  leftjoin(左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。  rightjoin(右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。  innerjoin(等值连接或者叫内连接):只返回两个表中连接字段相等的行。  fulljoin(全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。举个例子: …

    2022年5月24日
    35
  • 常驻型计算机病毒工作原理,复习计算机病毒分析与防范

    常驻型计算机病毒工作原理,复习计算机病毒分析与防范

    2021年8月16日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号