Как записать расширенные символы ASCII (с кодом ascii> 127) в файл XML, используя Java? - PullRequest
0 голосов
/ 21 января 2010

Я читаю тексты из разных источников, которые могут содержать символы из разных языков / расширенные символы, такие как €… „… † ® ©.И затем я должен записать в файл XML, я использую PrinterWriter в Java, чтобы записать в файл XML любую строку, которую я прочитал.Так что для этих типов расширенных символов, у которых ascii больше 127, выдает ошибку недопустимых символов в XML-файле, так как я могу правильно ее кодировать при записи в XML.

Ответы [ 2 ]

2 голосов
/ 21 января 2010

Во-первых, не существует такого понятия, как код ASCII выше 127. ASCII определяет значения только до 127. «Расширенный ASCII» - это неоднозначный термин, поскольку он используется для описания многих различных кодировок.

Теперь, что касается XML: используйте любой API XML, который вы хотите написать, не беспокоясь о содержимом (при условии, что они представимы в XML; различные управляющие символы в диапазоне от U + 0000 до U + 001F) т представительный, к сожалению). Не пытайтесь создать XML с нуля самостоятельно - для этого и нужны XML API. Убедитесь, что ваш XML-документ использует кодировку, которая будет справляться с нужными вам символами (UTF-8 обычно является хорошим выбором и часто используется по умолчанию), убедитесь, что в ваших строках Java содержатся правильные данные Unicode, и вы должно быть хорошо.

РЕДАКТИРОВАТЬ: Я на самом деле не заметил этот бит раньше:

Я использую PrinterWriter в Java для записи в XML

Не. Пожалуйста, используйте XML API. Вокруг много, и вам будет куда меньше беспокоиться. Я также не рекомендовал бы использовать PrintWriter в большинстве случаев - подавление исключений не очень хорошая идея в большинстве случаев.

1 голос
/ 21 января 2010

Используйте синтаксис &#value;. Пространство будет  

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...