Как получить байты как UTF-8Y в Java - PullRequest
1 голос
/ 30 июня 2011

Я использую синтаксический анализатор для синтаксического анализа xml-файла с кодировкой utf-8y. Как я могу указать это в синтаксическом анализаторе саксофона или входном источнике? Я всегда получаю исключение разбора

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Полагаю, вы читаете файл через InputStream?Парсер должен иметь возможность определять тип файла из заголовка XML.Если вы читаете файл в строку, а затем анализируете, что он имеет тенденцию становиться грушевидным

0 голосов
/ 30 июня 2011

Просто чтобы убедиться: это «Y» - это то, что включено в значение «кодирования» XML-документа?Тогда я не удивлюсь, что вы получили ошибку - такой кодировки нет.Я предполагаю, что это ошибка в любом произведенном документе и должна быть исправлена.

Но на вашей стороне у вас есть два основных варианта:

  1. Создайте InputStreamReader самостоятельно из InputStream, передавая«UTF-8» в кодировке
  2. Измените входной документ перед анализом, чтобы удалить оттуда это 'y'

Первый подход прост, и большинство синтаксических анализаторов должно с ним согласиться.Второй вариант можно использовать, если первый не работает.

...