native2ascii 是 JDK 自帶工具 (JAVA_HOME/bin/native2ascii),用於**本地編碼 (如 UTF-8、GBK) 與 ASCII (Unicode 轉義 \uXXXX) 互轉**。主要解決 Java Properties 配置文件僅支援 ISO-8859-1 (Latin-1) 的歷史限制。
| 參數 | 說明 |
|---|---|
-encoding <encoding> | 指定來源/目標編碼 (預設系統默認編碼) |
-reverse | 反向轉換:ASCII (\uXXXX) → 本地編碼 |
<inputfile> [outputfile] | 輸入檔,可選輸出檔 (不指定則輸出到 stdout) |
native2ascii -encoding UTF-8 messages_zh.properties messages.properties
# 輸出: key=\u4f60\u597d
native2ascii -reverse -encoding UTF-8 messages.properties messages_zh.properties
# 輸出: key=你好
cat messages_zh.properties | native2ascii -encoding UTF-8 > messages.properties
\uXXXX 轉義<!-- Maven resources plugin 可配置 encoding,避免手動轉換 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
JAVA_HOME/bin 在 PATH 中-encoding 是否與源文件實際編碼一致