我正在尝试将一组字符串转换为 byte[] 数组。首先,我执行以下操作将字节数组转换为字符串:
public String convertByte(byte[] msg) {
String str = "";
for(int i = 0; i < msg.length; i++) {
str += (msg[i] + " * ");
}
return str;
}
当我尝试转换回 byte[] 数组时,我没有得到与转换为字符串时相同的值。我最初有一些东西给了我不正确的价值观。
我目前正在尝试以下内容:
public static byte[] convertStr(String ln)
{
System.out.println(ln);
String[] st = ln.split(" * ");
byte[] byteArray = new byte[23];
for(int i = 0; i < st.length; i++)
{
byteArray[i] = st[i].get byte value or something;
}
return byteArray;
}
如果我尝试使用 String api 中的 getbytes() 方法,它会返回一个字节数组而不是一个字节,这就是我的问题。
任何帮助将非常感激。
Using Byte.parseByte
可能有助于使您的第二个片段发挥作用。
但是,除非您有某些特定原因要使用这种表示形式,否则我会使用其他答案中提到的 Java 方法将字符串编码为字节数组。
public static byte[] convertStr(String ln)
{
System.out.println(ln);
String[] st = ln.split(" * ");
byte[] byteArray = new byte[23];
for(int i = 0; i < st.length; i++)
{
byteArray[i] = Byte.parseByte(st[i]);
}
return byteArray;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)