« [C#]コマンドラインでコンパイルをする | トップページ | [Octave]起動直後に自動で実行するコマンドの設定 »

2018年12月12日 (水)

[R]文字列の文字コードを任意の文字コードに変換する

iconv関数を使う。引数に指定した文字列の文字コードを任意の文字コードに変換する。fromオプションに変換前の文字コードを、toオプションに変換後の文字コードを指定する。

> charToRaw("あ亜")
[1] 82 a0 88 9f
> charToRaw(iconv("あ亜", from = "CP932", to = "eucjp"))
[1] a4 a2 b0 a1
> charToRaw(iconv("あ亜", from = "CP932", to = "utf-8"))
[1] e3 81 82 e4 ba 9c
> charToRaw(iconv("あ亜", from = "CP932", to = "utf-16"))
[1] fe ff 30 42 4e 9c

上記はWindowsのRで文字コードで確認をした例。

WindowsのRの日本語コードは、初期状態ではシフトJIS(正確にはCP932)であるため、fromは「CP932」と指定している。「あ」はシフトJISでは0x82a0、EUCでは0xa4a2、UTF-8では0xe38182、UTF-16では0x3042。「亜」はシフトJISでは0x889f、EUCでは0xb0a1、UTF-8では0xe4ba9c、UTF-16で0x4e9cである。toオプションに「utf-16」を指定すると、ビッグエディアンのBOM(バイトオーダーマーク)である「fe ff」が先頭に付いているのがわかる。

« [C#]コマンドラインでコンパイルをする | トップページ | [Octave]起動直後に自動で実行するコマンドの設定 »

R(文字と文字列)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [C#]コマンドラインでコンパイルをする | トップページ | [Octave]起動直後に自動で実行するコマンドの設定 »

無料ブログはココログ

■■

■■■