Как преобразовать значение свойства из UTF8 в ascii в Ant - PullRequest
2 голосов
/ 12 октября 2011

Предположим, у меня есть свойство

${test}=íñü

В Ant есть ли способ конвертировать значение этого свойства в \ uxxxx?

Я знаю, что Ant может конвертировать файл с использованием native2ascii.

Как насчет значения свойства?

Обновление: причина, по которой я задаю этот вопрос, заключается в том, что я хочу запустить файл bat в ant, путь к файлу bat содержит некоторый не-Ascii char:

${test}=íñü
<target name="help">
    <exec executable="cmd">
        <arg value="/c"/>
        <arg value="${test}.bat"/>
        <arg value="-p"/>
    </exec>
</target>

Ошибка в том, что система не может найти путь.Я думаю, что это связано с тем, как путь закодирован.Но выход из UTF8 в ASCII не поможет решить проблему

1 Ответ

1 голос
/ 12 октября 2011

Используйте задачу loadresource с фильтром кодирования .

В этом примере задается свойство test2 из test:

<property name="test" value="íñü" />
<loadresource property="test2">
  <string value="${test}" />
  <filterchain>
    <escapeunicode/>
  </filterchain>
</loadresource>
<echo encoding="utf8" message="'${test}' maps to '${test2}'" />

Результат:

[echo] 'íñü' maps to '\u00ed\u00f1\u00fc'

Для задания loadresource требуется Ant 1.7 или новее.

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