日本語から7bitアスキーコードへ変換するオプションタスク。
(org.apache.tools.ant.taskdefs.optional.Native2Ascii extends
MatchingTask)
文字コードが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"> <native2ascii src="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]
<native2ascii src="bin" dest="bin" ext=".properties"> <include name="data.txt" /> </native2ascii>
srcとdestに同じディレクトリを指定し、extも指定すればよい。
上記の例では、data.txt
が変換されてdata.properties
になる。