Article View: fj.editor.mule
Article #866バッファ内容のバイト単位での取得
From: 森本 淳
Date: Sat, 12 Sep 1998 00:00
Date: Sat, 12 Sep 1998 00:00
26 lines
2015 bytes
2015 bytes
会社のニュースサーバが止まっているので、NIFTY-Serve からすみません。 19.28.1 ベースの mule 2.3 にて、任意のバイナリファイルの内容を吟味する elisp の関数を組もうとしているのですが、「任意のバイナリ・ストリーム から任意のバイト数めの値を読む」のが なかなか出来なくて困っています。 具体的には、Emacs Lisp だけで GIF や JPEG (JFIF) ファイルのヘッダを なめて、画像サイズを得る関数を作ろうと思っています。 適当なバッファに *noconv* で insert-file しておいて、 それを例えば (string-to-char (buffer-substring 1 2)) とかして 頭の1バイトだけ読もうとするのですが、たとえば 0xff から始まる JFIF などでは、length が 4 バイトのものが取れてしまいます。 coding-system を nil にすると、今度は 0xff が 0x7f になってしまう ようでした。 C なら getc なり fseek なりで簡単に行けることですが.. 「1文字」取った文字列の length が 1 より大きかったらまたばらす.. などとやればいいのかもしれませんが、なにかこう、もっと簡単で 早くて正しい、できれば emacs 19~20 の違いなどにも依存しない、 バイト単位のファイル操作は、どうやったらよいのでしょうか。 .. 森本 淳 (Jun Morimoto) ................................................. .. (株)IMAGICA Internet Planning Bureau - `Marib' ......................... .. morimoto@lab.imagica.co.jp http://www.asahi-net.or.jp/~ev1j-mrmt/ ......
Technical Details
Message-ID:
<INETNEWS-1-3-3.06095@nifty.ne.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10eba4,268f319eba0c80e0 X-Google-Attributes: gid10eba4,public From: "森本 淳 " <CZX01606@nifty.ne.jp> Subject: バッファ内容のバイト単位での取得 Date: 1998/09/12 Message-ID: <INETNEWS-1-3-3.06095@nifty.ne.jp> X-Deja-AN: 390159432 Content-Type: text/plain; charset=iso-2022-jp MIME-Version: 1.0 Newsgroups: fj.editor.mule