繁体   English   中英

在Java中将无符号字节数组(short [])解码为String

[英]Decoding unsigned byte array (which is short[]) to String in java

我必须在Java中读取一个无符号的8位字节数组(值范围为0-255),并且需要将其解码为String。

但是在Java中,因为byte是8位带符号的值,所以Java将其视为short [](短值数组)而不是byte []。 我只能将对象转换为short []。

我需要的是一种将该数组解码为String的方法。

提前致谢!

好吧,您尝试过显而易见的事情吗?

public static void main(String[] args) {
    final short[] input = {72, 69, 76, 76, 79};

    for (final short character : input) {
        System.out.println((char) character);
    }
}
    short[] x = {0x45,0x46,0x47};
    byte[] y = {0x45,0x46,0x47};
    System.out.println(new String(y));
    StringBuffer str = new StringBuffer();
    for(short s : x)
        str.append((char)s);
    System.out.println(str.toString());

输出量

EFG
EFG

您可以将无符号字节转换为这样的字符:

   byte unsignedByte = 65;
   char character = (char) unsignedByte;

您现在要做的就是在所有值上创建一个循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM