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 :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.