[Perl]初心者です。 文字列”あいうえお”が与えられたとします。EUC-JP形式になっている先頭の”あ”を 42146という数値にPerl上で変換するやり方を教えて下さい。末尾の"お"も同様にして当該数値に変換したいです。
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
No.1
60pt
手元の環境はUTF8だったので、ちょっと自信が無いですが、
↓試してみて下さい。
use strict;
use warnings;
my $str='あいうえお';
my @codes=unpack('C*', $str);
my @results;
while($#codes>0) {
my $c=shift(@codes);
$c=$c*128+shift(@codes) if $c>127;
push @results, $c;
}
print join("\t", @results);
pack / unpack が使えます。
http://www.rfs.jp/sb/perl/05/pack.html
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。
これ以上回答リクエストを送信することはできません。制限について
どうもありがとうございます。unpackという関数を使うのですか。
せっかく教わったのに恐縮ですが、現在テストできる環境にないため
是非後日、試してみたいと思います。