[[Rの備忘録]] Linux の UTF-8 で書いた R スクリプトで日本語の処理を行っていて,このファイルを Windows ユーザーに渡す場合,ファイルそのものを Shift-Jis に変換すればいいのだが,何となく気にくわない.そこで,iconv() 関数などを駆使する.もっとも,これが効率的でスマートな方法だとは言わない. まず文字コードを調べる UTF-8 では以下のようにするが $ echo -n '記号' | hexdump -C 00000000 e8 a8 98 e5 8f b7 R スクリプト上ではユニコード (UCS-2) を使う. $ echo "記号" | iconv -t UCS-2 | hexdump 0000000 8a18 53f7 000a $ echo -n "記号" | iconv -t UCS-2 | hexdump 0000000 8a18 53f7 iconv()の書式は iconv(x, from ="", to = "", sub = NA) だが,変換前後の文字コード指定は省略して使って構わない.利用可能な文字コードを確認するには以下を実行する. > iconvlist() [1] "1026" "1046" [3] "1047" "10646-1:1993" ... [1157] "WINDOWS-874" "WINDOWS-936" [1159] "WINSAMI2" "WS2" [1161] "YU" > iconv("\u8a18\u53f7", "", "") [1] "記号"