R_iconv の変更点 - アールメカブ

アールメカブ


R_iconv の変更点


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