[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(文字と文字列)」カテゴリの記事
- [R]同じ文字列を繰り返した文字列を作成する(2026.02.02)
- [R]文字列が数値に変換できるかどうか判定する(2025.12.31)
- [R]文字列の長さを得る(2025.12.30)
- [R]空白を追加した指定の長さの文字列を得る(2025.12.26)
- [R]文字列型ベクトルの要素を連結して文字列を作る(2025.12.17)
« [C#]コマンドラインでコンパイルをする | トップページ | [Octave]起動直後に自動で実行するコマンドの設定 »

コメント