日本語から7bitアスキーコードへ変換するオプションタスク。
(org.apache.tools.ant.taskdefs.optional.Native2Ascii extendsMatchingTask)
文字コードが128以上の文字を「\uXXXX」という形式の文字列に変換する。(XXXXは十六進数4桁の値。UNICODEは2バイトだから)
こうしたファイルの変換は、主にJavaのプロパティー(やantのproperty)で使われる。
|
|
| 属性 | 説明 | 更新日 |
|---|---|---|
| src | 変換元のファイルが存在するディレクトリ | |
| dest | 変換先のファイルを作成するディレクトリ | |
| ext | 変換先のファイルの拡張子を指定する 省略すると、拡張子は変更されない | 2007-02-21 |
build.xml:
<?xml version="1.0" encoding="Shift_JIS"?><project name="eval_native2ascii" default="native2ascii" basedir=".." ><target name="property_copy"><native2asciisrc="src"dest="classes"><!-- <exclude name="**/*.java" />--><include name="**/*.txt" /><include name="**/*.properties" /></native2ascii></target></project>
この例では、srcディレクトリ配下にある拡張子txtとpropertiesの全ファイルを変換してclasses配下に変換されたファイルを作成している。
「<exclude name="**/*.java" />」を有効にしてやると、javaのソースファイル以外の全ファイルが対象になる。けど、ただコピーするだけならともかく、文字コード変換まで全ファイルに行うことはあまり無いと思う(苦笑)
変換先のファイル名の拡張子は簡単に変えられる。[2007-02-21]
<native2asciisrc="bin"dest="bin"ext=".properties"><include name="data.txt" /></native2ascii>
srcとdestに同じディレクトリを指定し、extも指定すればよい。
上記の例では、data.txtが変換されてdata.propertiesになる。