有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 java将字符串转换为字节变量

我正在用安卓编写一个小程序,其中有一个字符串变量中的字节值列表。大概是这样的:

String src = "255216173005050";

现在,我需要做的是从源字符串中提取字节值,并将它们存储在字节变量中。(在上面的源字符串中,我有5个字节要存储)

为此,我可以成功读取源字符串并将字节值分隔3个字符。(255、216、173、005、050)

问题是我未能将这些字符串转换为它们的字节值

这是我已经做过的:

String str = "255";
byte b = (byte) Integer.parseInt(str);

通过运行这个,b将是-60! 有 请帮帮我


共 (3) 个答案

  1. # 1 楼答案

    当你写作时

    byte b = (byte) Integer.parseInt(str);
    

    您将得到一个有符号字节。如果你看你的int,它会被丢弃,比如

    int i = Integer.parseInt(str);
    System.out.println(i);
    byte b = (byte) i;
    

    您可能会看到i包含您想要的值

  2. # 2 楼答案

    当你想要一个byte时,不要使用parseInt;相反,请尝试^{}。还请注意byte的范围为-128到127(包括)

  3. # 3 楼答案

    这应该行得通。然后,只需访问字节数组的各种索引即可获得各个片段。如果文本是异常字符集,则将该字符集传递给getBytes()方法

    byte[] bytes = src.getBytes();