Всем привет, я новичек в програмировании под андройд, да и вообще в програмировании. Использую icystreammeta для получения метаданных с одного из интернет радио. Столкнулся с такой проблемой, что распознается только англоязычный текст названия песен, когда песни с названием на русском языке, то распознаются какие то каракули. прогуглил весь интернет, не нашел вообще ничего об этом. Кто разбирается в этом пожалуйста помогите решить проблему. Вот кусок кода из icystreammeta класса, я думаю что причина скрывается где то тут в регулярных выражениях. Попытался разобраться в них, пока безуспешно.
public static Map<String, String> parseMetadata(String metaString) {
Map<String, String> metadata = new HashMap();
String[] metaParts = metaString.split(";");
Pattern p = Pattern.compile("^([a-zA-Z]+)=\\'([^\\']*)\\'$");
Matcher m;
for (int i = 0; i < metaParts.length; i++) {
m = p.matcher(metaParts[i]);
if (m.find()) {
metadata.put((String) m.group(1), (String) m.group(2));
}
}
Может нужно как то изменить строку с регулярными выражениями? Или оставить все как есть, но перекодировать полученный текст в другую текстовую кодировку? Как это сделать правильно?