ord関数:文字に対応する文字コードを返す

Perl で用意されている組み込み関数の一つである ord 関数の使い方です。 ord 関数は文字に対応した文字コードを返します。

(Last modified: )

ord関数の書式と基本的な使い方

ord 関数は次のように定義されています。

ord
ord([EXPR])
引数に指定した文字列の先頭の文字に対応する文字コードを返します。

パラメータ:
  EXPR  対象の文字列
戻り値:
  先頭の文字の文字コード

省略可能な 1 番目の引数に対象となる文字列を指定します。省略された場合は変数 $_ が使用されます。関数が呼び出されると、引数に指定した文字列の先頭の文字を対応する文字コードに変換して戻り値として返します。

具体的には次のように記述します。

my $num = ord("ABC");

この場合、文字列の先頭文字である "A" に対応した文字コードの 65 が取得できます。

※文字コードから文字を取得する場合は「chr関数」を参照して下さい。

サンプルコード

それでは簡単なサンプルを作成します。

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $str = "Calendar";
for (my $i = 0; $i < length($str); $i++){

  # 1文字ずつ取り出す
  my $onestr = substr($str, $i, 1);
  print "$onestr = ".ord($onestr)."\n";
}

テキストエディタでプログラムを記述したあと sample.pl という名前で保存します。(文字コードは UTF-8 です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで次のように実行します。

perl sample.pl

次のように実行結果が表示されます。

ord関数:文字に対応する文字コードを返す(1)

文字列の "Calendar" から文字を 1 文字ずつ取得し、その文字に対応する文字コードを取得して画面に表示しました。

-- --

Perl で用意されている組み込み関数の一つである ord 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。