什么是Java字节数组,应如何使用?

krl*_*krl -6 java

字节数组是什么意思?我的意思是就像数据在内存中一样保存0和1。

例如

String a = "32";
byte [] arr = a.getBytes() ; 
Run Code Online (Sandbox Code Playgroud)

arr数组中现在存在什么,为什么以及何时使用它?

Eva*_*ams 5

对于字节数组,它的字面意思是一个数组,其中每个项目都是byte原始数据类型。如果您不知道a byte和公共数int(整数)之间的区别,则主要区别是位宽:字节为8位,整数为32位。你可以在这里阅读。

如果您不知道什么是数组,则数组基本上是一系列项目(在您的情况下是一系列字节,声明为byte[])。

该函数a.getBytes()采用a,它是一个String,并返回一个字节数组。之所以可以这样做,是因为String中的人类可读字符可以表示为8位数字,其中数字和字符之间的映射由CharSet确定。两种常见的字符集的示例是ASCII和UTF-8。现在,arr是一个字节数组,其中数组中的每个字节代表原始字符串中的每个字符a。在ASCII和UTF-8中,字符串均以"32"字节51,50十进制0x33和0x32十六进制表示。

字节数组通常用于按字节读取和写入数据的应用程序中,例如套接字连接通过TCP或UDP协议以字节流发送数据。

希望我能帮上忙!