简体   繁体   中英

android java - converting string to byte variable

I'm writing a little program in android and in it I've a list of byte values in a string variable. something like this :

String src = "255216173005050";

Now, what i need to do is to extract the byte values from the source string and store them in a byte variables. (in above source string, i'll have 5 bytes to store)

For doing this i could successfully read source string and separate the byte values by 3 characters. (255, 216, 173, 005, 050)

The problem is that i failed to convert these strings to their byte values.

it is what I've already done :

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

By running this, b will be -60 ! Is there Please help me !

This should work. Then just access various indices of the byte array to get the individual pieces. If your text is an abnormal character set - then pass the character set into the getBytes() method.

byte[] bytes = src.getBytes();

Don't use parseInt when you want a byte ; instead try Byte.parseByte . Also note that byte s have a range of -128 to 127 (inclusive).

When you write

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

you will get a signed byte. If you look at your int that is discarded using something like

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

you will probably see that i contains the value you want.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM