Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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 将包含“0x00”的字节数组替换为“0x30”`_Java_Android_Byte_Bytearray_Android Bluetooth - Fatal编程技术网

Java 将包含“0x00”的字节数组替换为“0x30”`

Java 将包含“0x00”的字节数组替换为“0x30”`,java,android,byte,bytearray,android-bluetooth,Java,Android,Byte,Bytearray,Android Bluetooth,我正在尝试将包含0x00的字节数组替换为0x30 1) 如果字节数组为字符串形式。(尽可能) 2) 如果字节数组是字节形式。(有问题) 上述方法要求首先将字节转换为字符串形式,然后将所有出现的0x00替换为0x30,然后将结果字符串转换回字节。 这似乎有点不合标准。然而,尽管如此,解决方案还是没有起作用。我不确定是否理解您的问题,但这应该可以修复您的第二个列表: byte[] bytes = new byte[] { (byte) 0x7d, (byte) 0x44,

我正在尝试将包含
0x00
的字节数组替换为
0x30

1) 如果字节数组为
字符串形式。(尽可能)

2) 如果字节数组是
字节
形式。(有问题)

上述方法要求首先将字节转换为字符串形式,然后将所有出现的
0x00
替换为
0x30
,然后将结果字符串转换回字节。
这似乎有点不合标准。然而,尽管如此,解决方案还是没有起作用。

我不确定是否理解您的问题,但这应该可以修复您的第二个列表:

byte[] bytes = new byte[] { (byte) 0x7d,  (byte) 0x44,  
               (byte)0x2d,  (byte)0x05,  (byte) 0x0e,  (byte)0x01,  
               (byte)0x11,  (byte)0x10,  (byte)0x2f,  (byte) 0x03,  
               (byte)0x00,  (byte)0x48};


for (int i=0; i<bytes.length; i++) {
    Byte b = bytes[i];
    if (b == 0x00) bytes[i] = 0x30;
}

try 
{
    String myString = new String(bytes, "US-ASCII").trim();
} 
catch (UnsupportedEncodingException e) 
{
    e.printStackTrace();
}
byte[]bytes=新字节[]{(字节)0x7d,(字节)0x44,
(字节)0x2d,(字节)0x05,(字节)0x0e,(字节)0x01,
(字节)0x11,(字节)0x10,(字节)0x2f,(字节)0x03,
(字节)0x00,(字节)0x48};
对于(int i=0;i
byte[] bytes = new byte[] { (byte) 0x7d,  (byte) 0x44,  
               (byte)0x2d,  (byte)0x05,  (byte) 0x0e,  (byte)0x01,  
               (byte)0x11,  (byte)0x10,  (byte)0x2f,  (byte) 0x03,  
               (byte)0x00,  (byte)0x48};

try 
{
    String myString = new String(bytes, "US-ASCII").trim();

    if(myString.contains("0x00"))
    {
        myString = myString.replace("0x00", "0x30");
        bytes = myString.getBytes();
    }
} 
catch (UnsupportedEncodingException e) 
{
    e.printStackTrace();
}
byte[] bytes = new byte[] { (byte) 0x7d,  (byte) 0x44,  
               (byte)0x2d,  (byte)0x05,  (byte) 0x0e,  (byte)0x01,  
               (byte)0x11,  (byte)0x10,  (byte)0x2f,  (byte) 0x03,  
               (byte)0x00,  (byte)0x48};


for (int i=0; i<bytes.length; i++) {
    Byte b = bytes[i];
    if (b == 0x00) bytes[i] = 0x30;
}

try 
{
    String myString = new String(bytes, "US-ASCII").trim();
} 
catch (UnsupportedEncodingException e) 
{
    e.printStackTrace();
}