У меня есть поток байтов, который может быть данными UTF-8 или двоичным изображением. Я должен быть в состоянии сделать обоснованное предположение о том, какой из них, проверяя первые 100 байтов или около того.
Однако я не понял, как именно это сделать на Java. Я пытался сделать что-то вроде следующего:
new String (байты, "UTF-8"). Substring (0,100) .matches (". * [^ \ P {Print}]"), чтобы увидеть, если первые 100 символов содержат непечатаемые символы, но это не похоже на работу.
Есть ли лучший способ сделать это?