java字节与c++;字节 我知道java 字节< /C>范围为-128到127,但是C++ 字节是无符号char < /代码>(0到255)< < < C++ > C++ C++,我想把C++函数转换成java,C++中有一个 LpByth(这是一个指针,指向代码>字节数组)。我尝试使用了字节> /Cux>数组,而不是在C++函数中使用 LpByth,但是我的java函数仍然不能正常工作。 我的C++函数在BMP文件上工作,它的算法是定制的游程长度编码。在将其转换为Java时,我使用了一个buffereImage,并将其内容作为byte[]获取。我猜Java函数不能正常工作是因为类型不匹配
我应该在Java中使用哪种类型?Java没有无符号类型(除了16位的java字节与c++;字节 我知道java 字节< /C>范围为-128到127,但是C++ 字节是无符号char < /代码>(0到255)< < < C++ > C++ C++,我想把C++函数转换成java,C++中有一个 LpByth(这是一个指针,指向代码>字节数组)。我尝试使用了字节> /Cux>数组,而不是在C++函数中使用 LpByth,但是我的java函数仍然不能正常工作。 我的C++函数在BMP文件上工作,它的算法是定制的游程长度编码。在将其转换为Java时,我使用了一个buffereImage,并将其内容作为byte[]获取。我猜Java函数不能正常工作是因为类型不匹配,java,c++,image-processing,run-length-encoding,Java,C++,Image Processing,Run Length Encoding,我应该在Java中使用哪种类型?Java没有无符号类型(除了16位的char)。所以你别无选择,选择byte,但要重写你的代码,使它能处理有符号整数。如果您需要这篇文章的帮助,请输入代码。Java中没有无符号字节类型。您可以改用short。这可以表示从0到255以及更多的所有值。在Java中,您可以使用普通的字节,并根据b&0xFF的要求将其转换为int 您遇到的问题是Java不支持指针,并且无法将指向字节的指针传递给Java。最接近的等效值是字节[] 如果您只进行RLE编码,那么字节的实际值并
char
)。所以你别无选择,选择byte
,但要重写你的代码,使它能处理有符号整数。如果您需要这篇文章的帮助,请输入代码。Java中没有无符号字节类型。您可以改用short
。这可以表示从0到255以及更多的所有值。在Java中,您可以使用普通的字节
,并根据b&0xFF
的要求将其转换为int
您遇到的问题是Java不支持指针,并且无法将指向字节的指针传递给Java。最接近的等效值是字节[]
如果您只进行RLE编码,那么字节的实际值并不重要,因此它们是有符号的还是无符号的并不重要。如果正在解码BMP文件,则可以根据需要使用上述掩码
在读取/写入字节数组时,常见的解决方案是使用ByteBuffer。它支持在小端数或大字节序中编写诸如“代码>短<代码> >或代码> int /代码>等较长类型,并且不需要预先知道确切的长度。在C++中没有标准类型<代码>字节< />代码。它是一个typedef/define,通常是
无符号字符
,但到目前为止它可能是字符
。实际上我必须使用BuffereImage,因为我使用ByteArrayOutputStream获取文件内容,它返回字节[],所以我必须逐字节读取内容并将其转换为简短,对吗?