[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
437
(2): デフォルトの名無しさん (アウアウウー Sa21-QIIi) [sage] 2022/09/16(金) 16:31:46.42 ID:1woCku44a(1/4) AAS
カンマと改行と"を何らかの方法でエスケープすればスプリットでも問題ないな
CSV化はエンコーディングした文字列をstring.Joinでカンマ区切り
読み取りはカンマでスプリットした後デコード
エンコーディングにBASE64とかパーセントエンコーディングが使えれば面倒無さそうな気がしたがどっちも半角記号をそのまま通すからだめだわ
自作しても大した手間はかからんけどCsvHelper使う方が明らかに楽だからなあ
あとExcelで開いて文字化けと思われる可能性も無くはない
439: デフォルトの名無しさん (アウアウウー Sa21-QIIi) [sage] 2022/09/16(金) 16:50:44.61 ID:1woCku44a(2/4) AAS
>>437
正規表現とDictionary<T>を使えばもう少しはエレガントに書けるし速度のためにはLengthの倍の大きさのバッファを用意してSpan<char>を使うべきなのかもしれないけどイメージとしてはこんな感じ
string Encode(string src) => src.Replace("=", "==").Replace("\r", "=r").Replace("\n", "=n").Replace(",", "=c").Replace("\"", "=q");
444: デフォルトの名無しさん (ワッチョイ a902-2m22) [sage] 2022/09/16(金) 19:21:46.56 ID:ScWWmq7w0(1) AAS
>>437
独自エスケープみたいな加工するくらいなら、そもそもCSVである必要すらない
ライブラリ使うか、CSV形式をやめるかどちらかだ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.203s*