Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据Java中给定的字符串创建字节数组_Java - Fatal编程技术网

根据Java中给定的字符串创建字节数组

根据Java中给定的字符串创建字节数组,java,Java,我只需要用给定的字符串创建一个字节数组 例如,如果我的字符串是String ss=“21331UA”那么字节数组元素应该与它们对应,如下所示 2 1 3 3 1 U A 我可以这样静态地创建它byte[]arr=新的byte[]{2,1,3,3,1,'U','A'}但必须在运行时动态创建此字节数组,因为这会随时间变化。这就是问题所在 我只是按如下方式尝试并打印它们,它包含它们相应的ASCII值。这不是我想要的。 byte[] arr = ss.getBytes(); for(int i=0;

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

例如,如果我的字符串是
String ss=“21331UA”
那么字节数组元素应该与它们对应,如下所示

2 1 3 3 1 U A
我可以这样静态地创建它
byte[]arr=新的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
byte[]arr=ss.getBytes();
对于(int i=0;i 50 49 51 49 85 65

非常感谢您的指导……提前感谢您可以像这样在字节数组中强制转换值:

System.out.print((char)arr[i] + "  ");
或者,直接将字节数组设置为字符:

char[] arr = ss.toCharArray();

for(int i=0; i<arr.length; i++)
{
    System.out.print(arr[i] + "  ");
}
char[]arr=ss.toCharArray();

对于(int i=0;i您可以在字节数组中按如下方式强制转换值:

System.out.print((char)arr[i] + "  ");
或者,直接将字节数组设置为字符:

char[] arr = ss.toCharArray();

for(int i=0; i<arr.length; i++)
{
    System.out.print(arr[i] + "  ");
}
char[]arr=ss.toCharArray();

对于(int i=0;i您需要将
byte
转换为
char
作为数组类型
arr[i]
byte

简单地说

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

您需要将
byte
强制转换为
char
作为数组类型
arr[i]
byte

简单地说

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


byte在java中是一种数字类型,你是说char'2','1','3'…?嗨,Mana,我只需要动态地创建这个字节数组来继续下一步。这就是问题所在。否则我可以用这种语法创建它…byte[]arr=new byte[]{2,1,3,3,1,'U','a'}。这就是我希望在运行时动态创建此数组并在我的应用程序中使用它的原因。感谢…@JibW如果您以创建它的方式打印字节[],您将获得与该数组完全相同的ASCII(即字节值)。调用
getBytes()
是获取这些值的正确动态方式。嗨,Poindexter,我的要求是创建字节数组并在应用程序中使用它。从我使用getBytes()创建时开始我的要求是创建字节数组…谢谢,但正如我前面所说,字节是数字的。它只能保存从-128到127的数字。它不能保存“U”,但“U”的字节表示形式是85。ss.getBytes();调用是绝对正确的,并且做的事情是正确的:获取字符串的字节表示形式!字节在java中是一种数字类型,您的意思是字符“2”、“1”、“3”…?您好,Mana,我只需要动态创建此字节数组以继续下一步。这就是问题所在。否则我可以使用此语法创建它…Byte[]arr=new Byte[]{2,1,3,3,1,'U','A'}。这就是为什么我希望在运行时动态创建这个数组,并在我的应用程序中使用它。谢谢…@JibW如果您以创建它的方式打印字节[],您将得到与该数组完全相同的ASCII(即字节值)。调用
getBytes()
是获取这些值的正确动态方式。嗨,Poindexter,我的要求是创建字节数组并在应用程序中使用它。从我使用getBytes()创建时开始我的要求是创建字节数组…谢谢,但正如我前面所说,字节是数字的。它只能保存从-128到127的数字。它不能保存“U”,但“U”的字节表示形式是85。ss.getBytes();call是绝对正确的,并且做的事情是正确的:获取字符串的字节表示形式!嗨,Daniel,是的,当我这样打印时,它会打印我想要的内容。我只需要创建一个字节数组,它正好包含字符串的字符。而不是ASCII值…因为我只需要一个字节数组,它包含我建议的字符b解开绳子。Thanks@JibW您的代码
ss.getBytes()
正是这样做的,它是
byte[]
字符串的表示形式。嗨,cklab,这就是问题所在。我只需要一种方法来创建字符串字符的字节数组…嗨,丹尼尔,我只需要动态创建这个字节数组来继续下一步。这就是问题所在。否则我可以用这种语法创建它…byte[]arr=new byte[]{2,1,3,3,1,'U','a'}。这就是为什么我希望在运行时动态创建这个数组,并在我的应用程序中使用它。字符数组在我的场景中不起作用。谢谢。@JibW,字节数组和字符数组本质上是一样的,因为它们存储的是完全相同的数据。您希望从这些数组中提取的是一个解释问题初始化。如果要将字符串的单个字符存储在字节数组中,则必须将索引值转换为字符,否则在打印到屏幕时会看到数字数据。嗨,Daniel,是的,当我这样打印时,它会打印我想要的内容。我只需要创建正好包含字符串字符的字节数组。不是ASCII值…因为我只需要一个字节数组,它包含字符串所建议的确切字符。Thanks@JibW您的代码
ss.getBytes()
正是这样做的,它是
byte[]
字符串的表示形式。嗨,cklab,这就是问题所在。我只需要一种方法来创建字符串字符的字节数组…嗨,丹尼尔,我只需要动态创建这个字节数组来继续下一步。这就是问题所在。否则我可以用这种语法创建它…byte[]arr=new byte[]{2,1,3,3,1,'U','a'}。这就是为什么我希望在运行时动态创建这个数组,并在我的应用程序中使用它。字符数组在我的场景中不起作用。谢谢。@JibW,字节数组和字符数组本质上是一样的,因为它们存储的是完全相同的数据。您希望从这些数组中提取的是一个解释问题阿提奥