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)
上一篇 2025年12月12日 下午12:43
下一篇 2025年12月12日 下午1:15


相关推荐

  • python批量替换文件名部分文字_python实现文件名批量替换和内容替换

    python批量替换文件名部分文字_python实现文件名批量替换和内容替换指定文件夹 指定文件类型 替换该文件夹下全部文件的内容 注意在 window 下的读写内容需要指定编码 还需要在文件头指定 coding utf 8 编码 避免出现编码问题 coding utf 8importosimp pathpath oldStr php newStr html for dirpath dirnames filenames inos wal

    2026年3月20日
    2
  • leetcode 两数相加_leetcode数组交集

    leetcode 两数相加_leetcode数组交集原题链接给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9

    2022年8月8日
    10
  • 激活webstrom(已测有效)[通俗易懂]

    激活webstrom(已测有效),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    75
  • 嵌入式学习网站

    嵌入式学习网站创客智造:https://www.ncnynl.com/中国电子网:http://www.21ic.com/中国单片机公共实验室:http://www.bol-system.com/驱动开发网:http://www.driverdevelop.com/first.phpQT中文论坛:http://www.qtcn.org/bbs/i.php水木清华研究中心:http://w…

    2022年5月9日
    56
  • 在线Excel:SpreadJS 15.0 中文版

    在线Excel:SpreadJS 15.0 中文版在线 Excel SpreadJS 概述 SpreadJS 是用于企业 JavaScript 开发的最全面的电子表格解决方案 它结合了网格功能和电子表格功能 提供完整的类似 Excel 的体验 包括表格 图表 形状 迷你图 高速计算引擎 条件格式 排序和过滤 以及广泛支持导入和导出本机 Excel 电子表格 无需 Excel 依赖项 还提供了一些独家功能 如条形码 富文本 单元格按钮 单元格下拉列表和范围模板 以帮助开发人员创建完美的 JavaScript 应用程序 使用 SpreadJS 小部

    2026年3月17日
    2
  • spark flatmap

    spark flatmapflatMap算子,在java中,接收的参数是FlatMapFunction,我们需要自己定义FlatMapFunction的第二个泛型类型,即,代表了返回的新元素的类型      call()方法,返回的类型,不是U,而是Iterable,这里的U也与第二个泛型类型相同      flatMap其实就是,接收原始RDD中的每个元素,并进行各种逻辑的计算和处理,返回可以返回多个元素

    2022年5月4日
    39

发表回复

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

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