bri*_*ian 5 java type-conversion
我有一个如下所示的字符串:["1011000","1000010","1001101","1000011"].
我的论点来自其他地方所以它需要这样.
我需要将其转换为真正的字节数组.
这是我的方法:
public void send(String[] payloadarr) throws IOException {
byte [] payload = {};
for (int i = 0; i < payloadarr.length; i++) {
byte x = (byte) payloadarr[i];
payload[i] = x;
}
//do byte stuff with payload
}
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.抱怨无法转换的类型字符串到字节.
任何人都可以帮我这个类型转换吗?
编辑:感谢@Gabe的主意,改变Integer.parseInt到Byte.parseByte
你可以使用Byte.parseByte(String s,int radix) - 你的基数是2(即基数为2)
这是一个将String数组转换为的方便方法byte[]:
public static byte[] stringsToBytes(String[] payloadarr) {
byte[] payload = new byte[payloadarr.length];
for (int i = 0; i < payloadarr.length; i++) {
payload[i] = Byte.parseByte(payloadarr[i], 2);
}
return payload;
}
public static void main(String[] args) {
System.out.println(Arrays.toString(stringsToBytes(new String[] { "1011000", "1000010", "1001101", "1000011" })));
}
Run Code Online (Sandbox Code Playgroud)
输出:
[88, 66, 77, 67]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |