У меня есть метод, который преобразует строку из файла из данного набора символов (utf-8 или latin1) в другой. При переводе с utf-8 на latin1 я должен показывать только те символы, которые не могли быть преобразованы (поскольку именно это происходит при попытке перехода с utf-8 на latin1). Мне интересно проверить, как один символ был или не был продан.
private String transcodeLineFromTo(String string, Charset fromCharset, Charset toCharset) {
try {
ByteBuffer inputBuffer = ByteBuffer.wrap(string.getBytes(fromCharset));
CharBuffer data = fromCharset.decode(inputBuffer);
ByteBuffer outputBuffer = toCharset.encode(data);
byte[] outputData = outputBuffer.array();
String originalLine = new String(outputData);
String convertedLine = new String(outputData, toCharset);
StringBuilder notEncoded = new StringBuilder();
char[] lineCharacters = convertedLine.toCharArray();
for (char ch : lineCharacters) {
if () {
notEncoded.append();
}
}
if (!notEncoded.toString().equals("")) {
return notEncoded.toString();
} else {
return convertedLine;
}
} catch (Exception e) {
throw new IllegalStateException(e);
}
}