Kitoved
@Kitoved
новичек

Как получить руcскоязычные названия песен в IcyStreamMeta?

Всем привет, я новичек в програмировании под андройд, да и вообще в програмировании. Использую 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));
            }
        }


Может нужно как то изменить строку с регулярными выражениями? Или оставить все как есть, но перекодировать полученный текст в другую текстовую кодировку? Как это сделать правильно?
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
Kitoved
@Kitoved Автор вопроса
новичек
Перед тем как выводить полученный текст в textview добавил перекодировку текста. помогло
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@onepavel
Консультация и разработка мобильных приложений
Сдается, что в данный указанный диапазон [a-zA-Z] кириллица не попадает
вики по регуляркам
\w - Буквенный или цифровой символ или знак подчёркивания
([\w]+) - возможно так должно быть
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы