[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
512: デフォルトの名無しさん [sage] 2020/07/24(金) 11:24:40.72 ID:JRbdBOQM >>511 レスありがとうございます ________________________________________________ SROファイルの書き換え 000000-00007F 東芝ヘッダ 000080-007FFF (データA) 008000-00807F 東芝ヘッダ 008080-00FFFF (データB) 010000-01007F 東芝ヘッダ 010080-01FFFF (データC) というふうに、0x8000バイトで1セットとなっている。 東芝ヘッダとは、0x80バイトからなるデータブロック。途中に## Toshiba 〜という文字列を含んでいる 東芝ヘッダのコピー禁止フラグ(CPP)のあるオフセット0x1Cを 0x40 ⇒ 0x00 に修正。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/512
547: デフォルトの名無しさん [] 2020/07/26(日) 18:32:06.33 ID:hRZi6+cn >>512 最適化するとすると手順はこんな感じかな。 1. 0x1c バイト読んでそのまま書く。 2. 1バイト読む。読めなかったら 5 へ。読んだ内容が 0x40 なら 0x00 に変えて書く。0x40 でなければそのまま書く。 3. 最大 0x7fff バイト読み、読めたデータをそのまま書く。 4. 2へ。 5. 終わり。 STDIN から読んで STDOUT で書くならこうなる。 read(STDIN, $buf, 0x1c); print $buf; while (read(STDIN, $buf, 1)) { print $buf eq "\x40" ? "\x00" : $buf; read(STDIN, $buf, 0x7fff); print $buf; } http://mevius.5ch.net/test/read.cgi/tech/1548981877/547
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s