改行と改行を正規化された形式に変換するPerlコードがあります。 入力テキストは日本語で、マルチバイト文字が含まれます。マルチバイト文字セットの改行制御文字
バイト単位でこの変換を行うことは可能ですか(これは現在行っていると思いますが)、または文字セットを検出してUnicodeサポートを有効にする必要がありますか?言い換えれば、文字セットの一部としてASCII制御文字と間違える可能性のあるバイトを使用する一般的なエンコード(Shift-JIS、EUC-JP、UTF-8、ISO-2022-JP)はありますか?
CRとLFだけで作業する必要があります。
更新: ISO-2022-JPが追加されました。そして、それは、そのファンキーなエスケープシーケンスで最も面倒なものです...
ASCIIは変わらないが、マルチバイト文字の2番目のバイトもASCIIのように見えることは心配です。または、上の半分からの余分なバイトはすべてですか? – Thilo
少なくともUTF-8の場合は、そうであるようです。すべての「秒」バイトは「10xx xxxx」のように見えます。 – Thilo
Shift-JISでは、2番目のバイトは必ずしも上位ビットが設定されているとは限りませんが、最小値は0x40です。 EUC-JPでは、2番目と3番目のバイトは常に0x80以上になります。 –