Я знаю, что OP заявил, что их двоичный файл был в формате String
, но ради полноты я думал, что добавлю решение для непосредственного преобразования из byte[]
в алфавитное строковое представление.
Как указывалось casablanca , вам необходимо получить числовое представление буквенного символа. Если вы пытаетесь преобразовать что-то длиннее, чем один символ, оно, вероятно, будет иметь вид byte[]
, и вместо преобразования этого в строку и последующего использования цикла for для добавления символов каждого byte
вы можете использовать ByteBuffer и CharBuffer , чтобы сделать подъем за вас:
public static String bytesToAlphabeticString(byte[] bytes) {
CharBuffer cb = ByteBuffer.wrap(bytes).asCharBuffer();
return cb.toString();
}
N.B. Использует набор символов UTF
Альтернативно с помощью конструктора String:
String text = new String(bytes, 0, bytes.length, "ASCII");