R_iconv のバックアップ(No.2) - アールメカブ

アールメカブ


R_iconv のバックアップ(No.2)


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

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] "記号"