5

I have a byte array like this: (this is not the actual byte array, I have modified it)

[69, 121, 101, 45, 62, 118, 101, 114, 196, 195, 61, 101, 98]

I want to know how can I initialize this in Java so that I can convert this byte array to String? Below line doesn't work.

// this doesn't work
byte[] bytes = [69, 121, 101, 45, 62, 118, 101, 114, 196, 195, 61, 101, 98];

// now convert to string
String data = new String(bytes, StandardCharsets.UTF_8);
2
  • possible duplicate of How do I initialize a byte array in Java? Commented Sep 18, 2015 at 23:52
  • nobody expected signed bytes:) instead of 255, you need to write -1, etc. Commented Sep 19, 2015 at 2:10

1 Answer 1

20

This should work

  byte[] bytes = {69, 121, 101, 45, 62, 118, 101, 114, (byte) 196, (byte) 195, 61, 101, 98};

Byte can hold upto -128 to 127 only. Some of the values are exceeding the limit of a byte value. So you need to cast them to byte.

Sign up to request clarification or add additional context in comments.

2 Comments

This is probably not what the OP wants. It seems that the intention is to create a string based on the unicode values of different characters.
@MickMnemonic Yes. In OP code, the string conversion works, where he failed to initialize the byte array :)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.