[#31787] MIME decoding — Tietew <tietew@...>

Tietew です。

24 messages 2001/10/08

[#31866] 先祖がえり — "T.Shirakawa" <niegh@...>

はじめまして つい最近、MLに登録した白川です。

20 messages 2001/10/14
[#31867] Re: 先祖がえり — Koji Arai <JCA02266@...> 2001/10/14

新井です。

[#31889] Ruby Conference — Minero Aoki <aamine@...>

あおきです。

31 messages 2001/10/16
[#31905] Re: Ruby Conference — matz@... (Yukihiro Matsumoto) 2001/10/17

まつもと ゆきひろです

[#31923] Re: Ruby Conference — TAKAHASHI Masayoshi <maki@...> 2001/10/17

高橋征義です。

[#31932] しぶらぐ — "KANEMITSU Masao" <masao-k@...> 2001/10/18

http://www.ne.jp/asahi/masao-k/home/newpage1.htm

[#31906] 数値の配列の一部を文字列にして、多重代入したい — みかみまさと <kofu@...>

こんにちは。みかみにございます。

9 messages 2001/10/17

[#32016] Re: コメント削除スクリプト — "Tatsuaki Nagai" <Tatsuaki_Nagai@...>

こんにちは。永井です。

15 messages 2001/10/24
[#32018] Re: コメント削除スクリプト — TASHIRO Katsuya <tashiro_katsuya@...> 2001/10/24

田代と申します.

[#32123] dRuby の DRbUndumped#_dump は? — FUJIMOTO Hisakuni <hisa@...>

こんにちは、藤本です。

21 messages 2001/10/30
[#32124] Re: dRuby の DRbUndumped#_dump は? — m_seki@... 2001/10/30

[#32126] Re: dRuby の DRbUndumped#_dump は? — shudo@... 2001/10/31

咳さん wrote:

[#32145] Test::Unit — MUTOH@...

むとうです。

20 messages 2001/10/31

[ruby-list:31988] Re: [ お題 ] 文字列の 16 進ダンプ

From: "KANEMITSU Masao" <masao-k@...>
Date: 2001-10-21 14:13:05 UTC
List: ruby-list #31988
これじゃだめ?

M.Kanemitsu
———————————————
金光雅夫 masao-k@a-net.email.ne.jp

http://masao-k.dnsalias.net:8888/
http://www.ne.jp/asahi/masao-k/home/
http://isweb14.infoseek.co.jp/art/soshikon/
http://isweb15.infoseek.co.jp/computer/ruby256/
〒216-0031 川崎市宮前区神木本町5-14-12
自宅: 044-877-5006
携帯: 090-2753-5292

> -----Original Message-----
> From: Kazuhiro Yoshida [mailto:moriq.kazuhiro@nifty.ne.jp] 
> Sent: Sunday, October 21, 2001 5:53 PM
> To: ruby mailing list
> Subject: [ruby-list:31983] Re: [ お題 ] 文字列の 16 進ダンプ
> 
> 
> もりきゅうです。
> 
> Koji Arai <JCA02266@nifty.ne.jp> wrote:
> > ・同じ行の出力は省略したい
> > ・日本語出力に対応したい
> 
> これらについて考えてみました。
> 
> 
> ・同じ行の出力は省略したい
> 
> 「行」というのは raw のことでしょうか? 
> --
> 00000000  61626364 65666768 696a6b6c 6d6e6f70  
> abcdefghijklmnop 00000010  61626364 65666768 696a6b6c 
> 6d6e6f70  abcdefghijklmnop 00000020  61626364 65666768 
> 696a6b6c 6d6e6f70  abcdefghijklmnop 00000030  61626364 
> 65666768 696a6b6c 6d6e6f70  abcdefghijklmnop
> 
> これを
> 
> --
> 00000000  61626364 65666768 696a6b6c 6d6e6f70  
> abcdefghijklmnop ..00000030
> 
> このように表現するようにしてみました。
> 
> 
> ・日本語出力に対応したい
> 
> wordtr(raw) を用意してみました。
> 
> puts "--", hexdump "abcdefghijklmnoあ" * 4
> --
> 00000000  61626364 65666768 696a6b6c 6d6e6f82  
> abcdefghijklmno 00000010  a0616263 64656667 68696a6b 6c6d6e6f 
>  .abcdefghijklmno 00000020  82a06162 63646566 6768696a 6b6c6d6e  あ
> abcdefghijklmn
> 00000030  6f82a061 62636465 66676869 6a6b6c6d  oあabcdefghijklm
> 00000040  6e6f82a0                             noあ
> 
> 
> def wordtr(str)
>   ret = ''
>   str.scan(/./){|word|
>     len = word.size
>     ret <<
>     if len == 1
>       word.tr("\000-\037\177-\377", ".")
>     else
>       word
>     end
>   }
>   ret
> end
> 
> def hexdump(str)
>   offset = 0
>   result = []
>   preraw = nil
>   preoff = nil
> 
>   while raw = str.slice(offset, 16) and raw.length > 0
>     if preraw == raw
>       preoff = offset
>       offset += 16
>       next
>     end
>     if preoff
>       result << sprintf("..%08x", preoff)
>       preoff = nil
>     end
>     preraw = raw
> 
>     # address field
>     line = sprintf("%08x  ", offset)
> 
>     # data field
>     for v in raw.unpack('N* a*')
>       if v.kind_of? Integer
> 	line << sprintf("%08x ", v)
>       else
> 	v.each_byte {|c| line << sprintf("%02x", c) }
>       end
>     end
> 
>     # text field
>     line << ' ' * (47 - line.length)
>     line << wordtr(raw)
> 
>     result << line
>     offset += 16
>   end
> 
>   if preoff
>     result << sprintf("..%08x", preoff)
>     preoff = nil
>   end
> 
>   result
> end
> 
> ----
> YOSHIDA Kazuhiro  moriq@moriq.com  http://www.moriq.com/
> 

Attachments (1)

JHD.zip (5.93 KB, Archive)

In This Thread