0

我只需要从给定的字符串中创建一个字节数组。

例如,如果我的 String 是,String ss = "21331UA";那么字节数组元素应与它们对应如下。

2 1 3 3 1 U A

我可以像这样静态地创建它。byte[] arr = new byte[]{2,1,3,3,1,'U','A'}但是必须在运行时动态地创建这个字节数组,因为它会不时改变。那就是问题所在。

我只是尝试如下并打印它们,它包含它们相应的 ASCII 值。这不是我想要的。

byte[] arr = ss.getBytes();

for(int i=0; i<arr.length; i++)
{
    System.out.print(arr[i] + "  ");
}
Ans==> 50  49  51  51  49  85  65

非常感谢任何指导....在此先感谢

4

2 回答 2

6

您可以像这样转换字节数组中的值:

System.out.print((char)arr[i] + "  ");

或者,或者,立即将您的字节数组设置为字符:

char[] arr = ss.toCharArray();

for(int i=0; i<arr.length; i++)
{
    System.out.print(arr[i] + "  ");
}
于 2012-06-20T15:53:01.290 回答
0

您需要 CASTbytechar数组类型arr[i]byte.

简单地说

System.out.print((char) arr[i] + "  ");
于 2012-06-20T15:57:06.913 回答