« [R]tibbleから指定の列だけをベクトルで抜き出す | トップページ | [R]文字列の16進数を10進数に変換する »

2023年9月18日 (月)

[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]tibbleから指定の列だけをベクトルで抜き出す | トップページ | [R]文字列の16進数を10進数に変換する »

無料ブログはココログ

■■

■■■