質問: シフトjisの2バイト文字を知る シフトjisの2バイト文字を0に置き換えたいと思いました。 $sjifstr =~ tr/\x??-\x??/'0'/; という部分の?が分かればこれは成功しますか? これは2バイト文字を知るための勉強として 試していることです。 2バイト文字のことが分かるようになったら、 フォームから入力された文字列が7文字以上だった場合、 6文字目を...にして、日本語1文字を2文字として計算して 必ず6文字以内になるようにしたいと思っています。 abあいc → abあ... あaいう → あい... a亜bcい → a亜b... のようにしたいと思っています。 それで、まず2バイト文字だけを取り出す方法を 教えてもらおうと思いました。
回答: シフトjisの1バイト目はasciiと区別がつくので良いですが、2バイト目はasciiと区別がつかないので、文字列の先頭から1バイトずつ見ていかないと、どこがsjisの2バイト文字かを判定することはできないよーな気がします。 #2バイト組で見ていけばokかもしれませんが。