« 2019年3月 | トップページ | 2019年5月 »

2019年4月27日 (土)

[Python]文字の文字コードを簡単に調べる

encodeメソッドを使用する。以下は、文字列「あい亜井」のそれぞれの文字の文字コードを調べた例。なお、これら文字の文字コード(左から、文字、その文字のシフトJISコード、その文字のutf-8コード)は以下のとおり(0xは16進数であることを示す接頭語)。

あ 0x82A0 0xE38182
い 0x82A2 0xE38184
亜 0x889F 0xE4BA9C
井 0x88E4 0xE4BA95
>>> s = "あい亜井"
>>> s.encode("sjis")
b'\x82\xa0\x82\xa2\x88\x9f\x88\xe4'
>>> s.encode("utf-8")
b'\xe3\x81\x82\xe3\x81\x84\xe4\xba\x9c\xe4\xba\x95'

文字型変数を使用しなくても、文字列に直接使用することもできる。

>>> "あい亜井".encode("sjis")
b'\x82\xa0\x82\xa2\x88\x9f\x88\xe4'

2019年4月25日 (木)

[R]文字の文字コードを簡単に調べる

charToRaw関数は引数に与えた文字列をロウ型で返すため、これを利用すると、そのRを実行している環境での文字コードを簡単に調べることができる。以下は、文字列「あい亜井」のそれぞれの文字の文字コードを調べた例。なお、これら文字の文字コード(左から、文字、その文字のシフトJISコード、その文字のutf-8コード)は以下のとおり(0xは16進数であることを示す接頭語)。

あ 0x82A0 0xE38182
い 0x82A2 0xE38184
亜 0x889F 0xE4BA9C
井 0x88E4 0xE4BA95

Windows 7上のR(文字コードはシフトJIS)で実行すると、以下のようにシフトJISコードがバイト単位で返される。

> charToRaw("あい亜井")
[1] 82 a0 82 a2 88 9f 88 e4

任意の文字の任意の文字コードを調べるには、iconv関数を使う。デフォルトでは戻り値は文字列のため、文字コードの値を知りたいのであれば、toRawオプションをTRUEにすることでロウ型で返すため、これをTRUEにする。Windows 7上のR(文字コードはシフトJIS)で実行すると、以下のようになる。

> iconv("あい亜井", to = "sjis", toRaw = TRUE)
[[1]]
[1] 82 a0 82 a2 88 9f 88 e4 > iconv("あい亜井", to = "utf-8", toRaw = TRUE)
[[1]]
[1] e3 81 82 e3 81 84 e4 ba 9c e4 ba 95

[R]ロウ型(raw type)について

Rにおけるロウ型(raw type)とは、他のプログラミング言語でいうところの文字型のこと。データを保持する構造(型)の一つで、バイト単位で保持する。

ロウ型ベクトルを作成するには、raw関数を使用する。引数に0を指定すると、空(長さが0)のロウ型ベクトルを作ることができる。

> raw()
raw(0)
> raw(3)
[1] 00 00 00
> length(raw(3))
[1] 3

ロウ型か否かの判定には、is.raw関数を使用する。

> is.raw(0)
[1] FALSE
> is.raw("A")
[1] FALSE
> is.raw(raw(3))
[1] TRUE

2019年4月17日 (水)

[R]ファイル、フォルダー(ディレクトリ)の存在を確認する

file.exists関数を使う。Rではフォルダー(ディレクトリ)の区切りを示す記号に「¥」(円マーク)と「/」(スラッシュ)の両方を使うことができる。

存在を確認するファイルかフォルダーのパスを文字列で、引数に指定する。存在すればTRUE、無ければFALSEを返す。

> file.exists("C:/Windows")
[1] TRUE
> file.exists("C:/Windows/explorer.exe")
[1] TRUE
> file.exists("C:/Window")
[1] FALSE
> file.exists("C:/Windows/explorerr.exe")
[1] FALSE

なお、file.exists関数だけでは、ファイルとフォルダーの違いは判別できない。ファイルとフォルダーを判別するには、file.info関数を使う。

file.info関数は、引数に与えられたファイルかフォルダーについて、その様々な情報をリスト形式で返す。

> file.info("C:/Windows")
size isdir mode mtime ctime atime exe
C:/Windows 0 TRUE (以下、表示省略)
> mode(file.info("C:/Windows"))
[1] "list"

ファイルなのかフォルダーなのかについては、要素isdirを見る。ファイルであればFALSE、フォルダーであればTRUEを返す。

> file.info("C:/Windows")$isdir
[1] TRUE
> file.info("C:/Windows/explorer.exe")$isdir
[1] FALSE

file.info関数に存在しないファイルやフォルダーを指定した場合は、NAが返される。

> file.info("C:/Windows/explorerr.exe")$isdir
[1] NA

2019年4月16日 (火)

[Python]Anacondaインストール時に環境変数PATHに追加されるパス

Anacondaインストール時は環境変数PATHに追加されるパスがある。2018年3月現在のAnacondaの最新バージョンは2018.12であり、含まれるPythonのバージョンは3.7である。

以下はWindowsの64ビット版Anacondaを、自分のホームディレクトリ(C:\Users\○○○、○○○はログイン名)にインストールした際に環境変数PATHに以下が追加されるパスの一覧。

C:\Users\○○○\Anaconda3
C:\Users\○○○\Anaconda3\Library\mingw-w64\bin
C:\Users\○○○\Anaconda3\Library\usr\bin
C:\Users\○○○\Anaconda3\Library\bin
C:\Users\○○○\Anaconda3\Scripts

« 2019年3月 | トップページ | 2019年5月 »

無料ブログはココログ

■■

■■■