HarmonyOS java中的byte是有范围的(-128到127)ArkTS中的 Uint8Array可以转成和byte[] 一样的值吗

比如 139 在java中转byte是 -117在ArkTS中还是139

HarmonyOS
2024-12-25 12:37:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

问题原因:

1、因为Uint8Array`是一个无符号8位整数数组,它的取值范围是0到255, 139在其表示范围内,所以是139;

2、java中的byte表示范围是-128到127,139已经超出了其表示范围,转换过程是由int类型转换为byte类型,有精度丢失,所以是-117.

解决方案:

ArkTS中Int8Array类型数组表示一个二进制8位有符号整数数组。它的取值范围是-128到127。如果不考虑精度丢失问题,可以使用Int8Array的类型。(通常情况下不建议这样做)

分享
微博
QQ
微信
回复
2024-12-25 14:02:08
相关问题
HarmonyOS Uint8Array
231浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
1728浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
181浏览 • 1回复 待解决
Uint8Array@Sendable类
391浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array转成ArrayBuffer
57浏览 • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码
248浏览 • 2回复 待解决
HarmonyOS ArkTS如何将byte[]转成PDF文件
369浏览 • 1回复 待解决
Uint8Arraystring之间相互转换
3525浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
153浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
256浏览 • 2回复 待解决
ArrayBuffer怎么转Uint8Array
739浏览 • 1回复 待解决
HarmonyOS Uint8Array转16进制
176浏览 • 2回复 待解决
HarmonyOS Uint8Array格式转字符串方法
1018浏览 • 1回复 待解决