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
1295浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
2620浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
1293浏览 • 1回复 待解决
Uint8Array@Sendable类
1243浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array转成ArrayBuffer
1749浏览 • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码
1494浏览 • 1回复 待解决
HarmonyOS ArkTS如何将byte[]转成PDF文件
1427浏览 • 1回复 待解决
Uint8Arraystring之间相互转换
5252浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
1227浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
832浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
1520浏览 • 1回复 待解决
HarmonyOS Uint8Array转16进制
1156浏览 • 1回复 待解决
HarmonyOS Uint8Array格式转字符串方法
1892浏览 • 1回复 待解决