- ベストアンサー
lengthで返ってくるバイト数の計算があいません
お世話になります。 lengthで返ってくるバイト数の計算があわず困っています。 全角文字列と全角スペースをあわせて12文字(24バイト)の出力をさせたくて以下のように記述しました。 $spaceStr = ' ' x ((24 - length($in{'name'}))/2); $in{'name'}には全角の名前が入るようにしています。 最終的に$spaceStrをテキストに出力したいのですが、 例えば$in{'name'}が「あ」の一文字の場合、期待では ' ' x ((24 - 2)/2) なので11文字の全角スペースが出力されると思ったのですが、出力は9文字の18バイト分の全角スペースしか出力されません。 この原因は何でしょうか? ご教授の方をよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
お礼
正常に出力されるようになりました。 有難うございました。 >それなら12バイトは納得ですね。 確かにそこは納得できましたが、そもそもの原因はわからないままです。。。 再度全体を確認してみます。 本当にお世話になりました。