Ruby,Perl,Pythonのメモ〜ソースの文字コード指定〜
メモ:
・日本語の取り扱いのめも (ソースコードについて)
・バージョンはruby 1.9.1p129,perl v5.10.0,Python 3.0.1
・バージョンが古いと動かない
ruby | perl | python | |
---|---|---|---|
ソースコード | コード冒頭に文字コード指定 | 基本的にUTF8で書く | コード冒頭に文字コード指定 |
文字列 | オブジェクト毎に文字コード定義 | バイナリとUTF8フラグ付き文字列 | Unicode文字列のみ |
参考 | bitclust M17N の設計と実装 |
Encode入門 perl - use encoding; #は黒歴史 |
@IT記事 |
#!/usr/bin/ruby1.9 # coding: utf-8 str = "Rubyで日本語表示。" puts str
#!/usr/bin/perl use strict; use warnings; use utf8; use feature ":5.10"; binmode(STDOUT, ":utf8"); my $str = "Perlで日本語表示。"; say $str;
#!/usr/bin/python3.0 # coding: utf-8 str = "Ptyhonで日本語表示。" print(str)
#!/usr/bin/ruby1.9 # vim:fileencoding=euc-jp str = "Rubyで日本語表示。" puts str.encode(Encoding.default_external)
または、
#!/usr/bin/ruby1.9 # vim:fileencoding=euc-jp str = "Rubyで日本語表示。" $stdout.set_encoding( Encoding.default_external, str.encoding ) puts str
#!/usr/bin/perl use strict; use warnings; use feature ":5.10"; binmode(STDOUT, ":utf8"); my $str = Encode::decode("euc-jp","Perlで日本語表示。"); say $str;
#!/usr/bin/python3.0 # vim:fileencoding=euc-jp str = "Ptyhonで日本語表示。" print(str)
#!/usr/local/bin/ruby # vim:fileencoding=utf-8 str = "Rubyで日本語表示。" puts str.encode(Encoding.default_external)
または、
#!/usr/local/bin/ruby # vim:fileencoding=utf-8 str = "Rubyで日本語表示。" $stdout.set_encoding( Encoding.default_external, str.encoding ) puts str
#!/usr/local/bin/perl use strict; use warnings; use utf8; use Encode; use feature ":5.10"; my $str = "Perlで日本語表示。"; say encode("euc-jp",$str);
または
#!/usr/local/bin/perl use strict; use warnings; use utf8; use feature ":5.10"; binmode(STDOUT, ":encoding(euc-JP)"); my $str = "Perlで日本語表示。"; say $str;
#!/usr/bin/python3.0 # vim:fileencoding=utf-8 str = "Ptyhonで日本語表示。" print(str)