[R]文字列から各文字の文字コードを得る
iconv関数で指定の文字列を変換してそれをcharToRaw関数でロウ型に変換すると文字コードがバイト列で表示される。
> Sys.getlocale()
[1] "LC_COLLATE=Japanese_Japan.utf8;LC_CTYPE=Japanese_Japan.utf8;LC_MONETARY=Japanese_Japan.utf8;LC_NUMERIC=C;LC_TIME=Japanese_Japan.utf8"
> charToRaw(iconv("阿", to = "ISO-2022-JP")) # JIS
[1] 1b 24 42 30 24
> charToRaw(iconv("阿", to = "SJIS")) # シフトJIS
[1] 88 a2
> charToRaw(iconv("阿", to = "UTF-8")) # UTF-8
[1] e9 98 bf
> charToRaw(iconv("阿", to = "UTF-16")) # UTF-16(ビッグエンディアン)
[1] fe ff 96 3f
> charToRaw(iconv("阿", to = "UTF-16BE")) # UTF-16(ビッグエンディアン)
[1] 96 3f
> charToRaw(iconv("阿", to = "UTF-16LE")) # UTF-16(リトルエンディアン)
[1] 3f 96
> charToRaw(iconv("阿", to = "unicodeFFFE")) # Unicode
[1] 96 3f
iconv関数に与える文字は文字列でもかまわない。ただし、要素が1つだけ(長さが1)の文字ベクトルでなければならない。
> charToRaw(iconv("阿位鵜", to = "SJIS"))
[1] 88 a2 88 ca 89 4c
> charToRaw(iconv(c("阿位", "鵜江"), to = "SJIS"))
[1] 88 a2 88 ca
警告メッセージ:
charToRaw(iconv(c("阿位", "鵜江"), to = "SJIS")) で:
引数は長さ 1 の文字ベクトルである必要があります
最初の要素以外は全て無視されます
« [R]tibbleから指定の列だけをベクトルで抜き出す | トップページ | [R]文字列の16進数を10進数に変換する »
「R(文字と文字列)」カテゴリの記事
- [R]同じ文字列を繰り返した文字列を作成する(2026.02.02)
- [R]文字列が数値に変換できるかどうか判定する(2025.12.31)
- [R]文字列の長さを得る(2025.12.30)
- [R]空白を追加した指定の長さの文字列を得る(2025.12.26)
- [R]文字列型ベクトルの要素を連結して文字列を作る(2025.12.17)
« [R]tibbleから指定の列だけをベクトルで抜き出す | トップページ | [R]文字列の16進数を10進数に変換する »

コメント