文字(≠文字列)のコードポイントを数字として取得するには 2014/11/22
文字からUnicodeの符号位置(コードポイント)を数字として取得する方法。逆に符号位置の数字から文字に変換するには chr
を使う。
Scala 2014/11/03
Char
型をInt
にキャストすればよい。
println('A'.asInstanceOf[Int]) // => 65
println('あ'.asInstanceOf[Int]) // => 12354
Unicodeの拡張領域の文字はJVM上では2つのchar型として表現されるので、この方法では拡張領域に対応できない。
PHP 2014/11/09
ord
関数を利用すればよいが、これは実際には文字列をバイナリの配列と見たときの最初の8ビットを整数にしているだけなので、マルチバイトには対応していない。
echo ord('A');
// => 65
// UTF-8の環境で実行したとき
echo ord('あ');
// => 227
// `あ` がUTF-8では227,129,130という3バイトになるため
ord
関数 | PHP Manual
http://php.net/manual/ja/function.ord.php
Python 2014/05/30
ord
という関数に長さ1の文字列を渡す。2文字以上渡すとエラーになる。
Python2での例
print ord("A")
# => 65
# 以下は u を付けないとエラーになる
print ord(u"あ")
# => 12354
print ord(u"𪘚")
# => 173594
Python3での例
print(ord("A"))
# => 65
print(ord("あ"))
# => 12354
print(ord("𪘚"))
# => 173594
Ruby 2014/05/30
例
p "A".ord
# => 65
p "あ".ord
# => 12354
p "𪘚".ord
# => 173594
Perl 2014/05/30
例
use utf8;
print ord("A"); # => 65
print ord("あ"); # => 12354 (0x3042)
print ord("𪘚"); # => 173594 (0x2A61A)