コードポイントから文字に変換するには (chr) 2014/11/09
Unicodeの符号位置の数字から、該当する文字を取得する方法。例えば65
という整数から'A'
という文字を取得したい場合。
逆に文字から符号位置を取得するにはord
参照。
Scala 2014/04/18
整数を Char
にキャストすればよい。
println(65.asInstanceOf[Char])
// => A
println(12354.asInstanceOf[Char])
// => あ
Groovy 2014/11/08
整数を char
にキャストすればよい。
println((char)65)
// => A
println((char)12354)
// => あ
16ビットを超える文字はchar
では表現できず、String
を生成する必要がある。
println(new String([127757] as int[], 0, 1))
// => 🌍
PHP 2014/11/09
echo chr(65); // => A
残念ながらUnicodeはサポートされていない。
chr
関数 | PHP Manual
http://php.net/manual/ja/function.chr.php
HTML出力でブラウザにその文字が表示されればよいのであれば、HTMLの文字参照をすればよい。
$c = 12354;
echo "&#$c";
Python 2014/05/16
Python2での例
print chr(65) # => A
print unichr(0x3042) # => あ
print unichr(0x2A61A) # => 𪘚
Python2では、0xFFを超える文字で chr
を使おうとすると、
ValueError: chr() arg not in range(256)
というエラーになってしまう。代わりに unichr
を使う必要がある。
Python3での例
print(chr(65)) # => A
print(chr(0x3042)) # => あ
print(chr(0x2A61A)) # => 𪘚
Python3ではUnicode文字はすべて chr
が使える。逆に unichr
を使おうとすると、
NameError: name 'unichr' is not defined
というエラーになってしまう。
Ruby 2014/11/23
Fixnum
クラスのchr
メソッドでできる。文字エンコーディングを引数で与える必要がある。省略もできるがその場合は0xFFまでしか使えない。
0xFFを超える数値でパラメータを渡さずにchr
メソッドを呼び出すと、
out of char range (RangeError)
という例外が発生する。
配列のpack
メソッドでも代用できる。
例
p 65.chr # => "A"
p 127757.chr("UTF-8") # => "🌍"
p [0x3042].pack('U') # => "あ"
p [127757].pack('U') # => "🌍"
2行目と4行目は地球の絵文字。
Integer#chr
メソッド | Ruby レファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/class/Integer.html#I_CHR
pack テンプレート文字列 | Ruby レファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/doc/pack_template.html
Perl 2015/04/13
chr
関数を使う。
print chr(65); # => A
print chr(0x3042); # => あ
print chr(0x2A61A); # => 𪘚
print chr(127757); # => 🌍
chr
関数 | perldoc.jp
http://perldoc.jp/func/chr