MacJPerl 5からMac OS Xのperlへの移植、つづき

前のブログの続き。
lengthを使ったperlコードだと、調整が必要。
たとえば、Mac OS Xのperlで

use utf8;
print length (‘あいうえお’);
print “\n”;

は「5」とUnicodeでの字数を表すが、

print length (‘あいうえお’);
print “\n”;

のようにuse utf8;がないと「15」と、ASCIIの字数、すなわちバイト数を表す。
これはじゃあMacJPerlではどうだったかというと、

print length (‘あいうえお’);
print “\n”;

が「10」を表示する。
ShiftJISでのバイト数。
文字のコードの問題をいえば、Unicodeで005cである「\」(バックスラッシュ)はShift-JISには変換できない。
Shift-JISの5cに変換できるのは、Unicodeで00a5の「¥」。

カテゴリー: コンピュータ パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です