
初めて質問させて頂きます。
iCalendarのデータを吐き出すプログラムを作成中です。
長い項目に関して、75オクテットごとに改行(CRLF)と半角スペースを入れないといけないのですが、方法がわかりません。なお、文字コードはUTF-8で、全角・半角文字がまじっています。
なお、データ中に\nを含む場合は、それがぶった切られないようにする方法はないでしょうか?
具体例)
DESCRIPTION:あいうえおかきくけこさしすせそたちつてとなにぬね\nのはひふへほ
↓
DESCRIPTION:あいうえおかきくけこさしすせそたちつてとなにぬね
[半角スペース]\nのはひふへほ
※上記のように75オクテット目の\とnが途中で改行されないこと。
No.1ベストアンサー
- 回答日時:
1オクテット = 1バイトと考えます。
UTF-8では日本語の全角半角1文字は3から4バイトですが、OK?
> なお、データ中に\nを含む場合は、それがぶった切られないようにする方法はないでしょうか?
??よくわからず。
適当。以下、表示がくずれるので空白2文字を全角空白1文字で書いていることに注意。
use strict;
use warnings;
# for testing
my $wrap = 5;
my $string1 = 'A' x 10;
my $string2 = 'B' x 13;
for my $string ( $string1, $string2 ) {
print qq(\x0A\x0D"$string"\x0A\x0D);
print "---\x0A\x0D";
while ( $string =~ m/([\x00-\xFF]{$wrap,$wrap})/g ) {
print $1, "\x0A\x0D ";
}
my $rest = length($string) % $wrap;
if ( $rest > 0 ) {
print substr( $string, -$rest ), "\x0A\x0D ";
}
print "---\x0A\x0D";
}
この回答への補足
説明不足でした。
my $a = "あいうえおかきくけこさしすせそたちつてのなにぬね\\nのはひふへほ";
というデータに対して、printした際に、出力結果として
……なにぬね\
nの…
ではなく、
……なにぬね
\nの……
と\nが分断されないように出力したいという意味でした。
ただ、解決策が見えてきたような気がします。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlのプログラミング 部分入れ...
-
Perlでファイルの末尾から指定...
-
テキストファイルで提出とは?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授く...
-
perlをバージョンアップしたら...
-
Perlで時間の計算
-
Wallpaper Engineでおすすめの...
-
Perl言語について。
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
#!/usr/bin/perlで書きだしたCG...
-
perl の open について教えてく...
-
INDIRECT 横に再度抽出したい
-
アルファベットに付いて質問し...
-
openした後、closeしないでプロ...
-
画像が表示でnull; this.src
-
VBA変数をFunction.VLookupの戻...
-
perlのflock関数でロックをかけ...
-
Perl の外部モジュールの利用方法
-
TeraPadエディターの操作方法に...
-
bashスクリプト
-
perlの構文でカンマの意味が分...
おすすめ情報