Jak przekonwertować tablicę z bytes
na String
bez konwersji ?.Jak przekonwertować tablicę bajtów na ciąg w Javie?
Próbowałem:
String doc=new String(bytes);
ale plik doc nie jest taka sama, niż bajtów (bajty są informacje binarne). Na przykład:
String doc=new String(bytes);
byte[] bytes2=doc.getBytes();
bytes
i bytes2
są różne.
PS: UTF-8 Nie działa, ponieważ konwertuje kilka bajtów na różne wartości. Testowałem i to nie działa.
PS2: I nie, nie chcę BASE64
.
musisz użyć właściwego kodowania – nachokk
@TheNewIdiot odpowiedź w tym poście nic nie rozwiązuje. Życzyłbym sobie konwersji bajt po bajtach, a odpowiedź brzmi "przekonwertuj lub zniszcz". Jak to możliwe, że Java nie może tego zrobić ?. – magallanes
Java dokonuje doskonałego rozróżnienia między danymi binarnymi (bajtami) a tekstem (String). W przypadku tekstu wybrał wewnętrzny kod Unicode, więc wszystkie języki są uwzględnione. Chociaż możesz użyć kodowania jak ISO-8559-1 do konwersji bajtów, tak jak do String i odwrotnie, te Struny mogą mieć artefakty podobne do binarnych 0. –