mattintosh note

どこかのエンジニアモドキの備忘録

plist からの日本語の取り出し(bash で4桁の Unicode 値を日本語に変換)

OS X のプロパティリストに入れた日本語を defaults read でそのまま取り出すと \uXXXX といった感じでユニコード値のままで表示される。

$ defaults read ~/Info japanese
\u4ffa\u306f\u65e5\u672c\u8a9e

このキーにはファイルパスを入れようと思っていたんだけどこれじゃ困る。

iconv とか使うのかと思ったけど echo とか printf すれば日本語で取り出せた。

$ echo $(defaults read ~/Info japanese)
俺は日本語

でもこれ zsh だと出来て bash だと出来ない。

仕方ないので native2ascii を使って UTF-8UTF-8 に戻す。-reverse だけだと SJIS に変換されてしまうので -encoding UTF-8 を追加する。

$ defaults read ~/Info japanese | native2ascii -reverse -encoding UTF-8
俺は日本語

zsh さんは賢いですねぇ…。

LANG=ja_JP.UTF-8 での話