From: aamine@... Date: 1998-11-09T13:12:31+09:00 Subject: [ruby-list:10737] Re: base64.rb This is a MIME multipart message. --Den8_36466d7471e5 Content-Type: text/plain; charset=iso-2022-jp あおきです。 In mail "[ruby-list10702] Re: Base64.rb" wrote: >> さらに言えば、機種依存文字をそのままエンコードしちゃっていいのかとか、 >> 半角カナは全角に変換したいとか、面倒な要素はいくらでもありますね。 > >これは無視 ^^) >というこで作って見ました。 >添削宜しく。 ちょうど昨日そのへんの拡張モジュールを作りましたので添付します。 機能としては 半角カナを全角に変換(濁点、半濁点対応) 機種依存文字をカット コントロール文字をカット JISのエスケープシーケンスを\e$Bに揃える require 'safestr' str = Safestr.to_mailsafe( str, 1 ) のように使ってください。2つ目の引数は文字コードの種類で、 KCONVと同じです。(JIS,SJIS,EUCのみ) ただしテストはしてないです。 コンパイルできることと、ASCIIが通る事は確認したんですが… >base64.rb が良いのか mime.rb がよいのか、、 >mime-header.rb かな。 encode-mheadとか。 ところで作った後に質問なんですが、IBM拡張文字は消しちゃっていいんですよね。 -------------------------------------------------------------------- あおきみねろう@一橋大学 Mail to: aamine@dp.u-netsurf.ne.jp --Den8_36466d7471e5 Content-Type: application/octet-stream; name="safestr.tgz" Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename="safestr.tgz" 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 --Den8_36466d7471e5--