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

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

HarmonyOS
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
Uint8Array如何转成ArrayBuffer
1603浏览 • 1回复 待解决
HarmonyOS Uint8Array
50浏览 • 1回复 待解决
Uint8Array@Sendable类
289浏览 • 1回复 待解决
Uint8Arraystring之间相互转换
3192浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
43浏览 • 2回复 待解决
HarmonyOS 录音发送Uint8Array
70浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
614浏览 • 1回复 待解决
HarmonyOS Uint8Array格式转字符串方法
869浏览 • 1回复 待解决
HarmonyOS Uint8Array转16进制
53浏览 • 2回复 待解决
HarmonyOS List<number>怎么转Uint8Array
34浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer
1497浏览 • 1回复 待解决
Uint8Array 如何直接转为String or Json
2766浏览 • 1回复 待解决
如何将Uint8Array转ArrayBuffer?
537浏览 • 1回复 待解决
HarmonyOS string怎么与Uint8Array互转?
480浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array转为ArrayBuffer
60浏览 • 1回复 待解决