|
|
||
エンコーディングのくせにencode()しか対応していないとはキモくない?
https://rt.cpan.org/Public/Bug/Display.html?id=64166
というpatchをEncodeにRTしました。
実際はMIME-Headerというエンコーディングがあり、それが =?ISO-2022-JP?B? というものもうまくdecode()してくれるのでMIME-Headerなものをdecode()したければそれを使えばよい。
MIME-Headerは、encode()すると=?UTF-8?B?固定なので、encodeで=?ISO-2022-JP?B? を作りたい用としてMIME-Header-ISO_2022_JPができた、という経緯なのでこうなってるわけですね。
送ったパッチだとMIME-Header-ISO_2022_JPでdecode()するとMIME-Headerでdecode()したのと同等になるだけだけど、encode/decodeできてわかりやすくなると思います。
→ MIME-Header-ISO_2022_JPはencodeのみ、decodeするならMIME-Headerを使え、とのことでした by dan the Encodeメンテナー
https://rt.cpan.org/Public/Bug/Display.html?id=64166
ふむ。まあぼくは別に困らない(いままでも困ってない)のだけど、エンコーディングなのにdecode()できないのはハマる人がいそうだ。
iso2022jpだけdecode()できるようなパッチを書けばいいかなあ。
http://search.cpan.org/perldoc?Email::MIME::MobileJP
tokuhirom氏がEmail::MIME + Email::Address::JP::Mobile ( + Tiffany) 的なのをつくってくれました。
Encode::JP::Mobile はちょっとPODが汚いのと、それを差し置いても http://coderepos.org/share/wiki/Mobile/Encoding これをしっかり読んでもじゃあどうしたらよいのか?ってむずかしさが残ります。Email::Address::JP::Mobile もそのへんを解消すべくおすすめエンコーディングを出すものにしてみたのだけど、
こちらはさらに進んでメール送受信周りをまとめてしまってあっていいですね。Email::MIMEやEncode::JP::Mobileのエンコーディングの使い方の例としても使える。
Googleとかがまとめたemoji4unicodeが、いい感じのマッピングをできるのかと思いきや、やはり完全に中立的な相互変換可能なマッピングにはならなかったようなので(出典 http://kawa.at.webry.info/201010/article_1.html )、ふつうに Encode::JP::Mobile が生き続けそうだ。なのでPODは、もうすこしわかりやすく書き直したいですねえ。あとemoji4unicodeが提唱されている現在、英語でも書いてあった方がいいんじゃないだろうか。
#mobilejp@freenodeではPODきれいにまとめられるエンジニアを募集中です。
Jetsyn2011/12/24 02:07It's good to see someone thinking it thrugoh.
lbtlpkgqes2011/12/24 17:35Z3qX3b <a href="http://tmdbjtszmbkb.com/">tmdbjtszmbkb</a>
zhhztraooj2011/12/25 02:11vHL4j0 , [url=http://yiaeyirowqna.com/]yiaeyirowqna[/url], [link=http://hchxkwnkgdsr.com/]hchxkwnkgdsr[/link], http://brbuqkfecrnv.com/
uvargf2011/12/25 18:41bFtr9W <a href="http://nvbbmpswhhlt.com/">nvbbmpswhhlt</a>
vhwveuqbin2011/12/25 23:23emUeAl , [url=http://wjgbmodmkudt.com/]wjgbmodmkudt[/url], [link=http://qounrwtdbbef.com/]qounrwtdbbef[/link], http://uhdugvjexfxu.com/
Encode::JP::Mobile 0.27 がUPされました
http://search.cpan.org/~coderepos/Encode-JP-Mobile-0.27/
mimeエンコーディングが使えるようになったのを受け、Email::Address::JP::Mobile のエンコーディング機能追加版をUPします。(実はささいなバグfixとしてあげてしまったのでちゃんとChanges書き直して再UPした今)
http://search.cpan.org/~tomita/Email-Address-JP-Mobile-0.04/
Encode::JP::Mobile がmimeサポートしたらUPする版をtrunkに用意した。
http://coderepos.org/share/changeset/36969
送信用エンコーディングを返す mail_encoding が名前としてわかりにくいというのがあったのでwalf443さんだったかの案どおり send_encoding にした。
受信メールパース用のやつは parse_encoding としてみた。Content-typeを見て出してるわけではないよという注意も書いておいたのでこれでよいだろう。
walf443さんがやってる Email::MIME::JP::Mobile については、パース時本文を持っているわけなので parse_encoding に頼らず、今までどおり Content-typeをチェックするほうが良いと思う。
やはり AirHの文字が哀愁をさそいます
Encode-JP-Mobile | |
http://coderepos.org/share/browser/lang/perl/Encode-JP-Mobile/trunk
2年くらいの時を経て!、mime branchがマージされました。
機能は追加のみで、MIME-Header-なんちゃらが追加されたのみです。
ついでにPODを手直ししたらどうかなと思います。「このモジュールの実装は EXPERIMENTAL です。」とかそろそろ取ってもいいころかな?と。
POD読んでわかりにくいなーと思ってた方手を入れてくださいまし。Encode::JP::MobileのPODは基本日本語ですので。ぼくも後でできるだけやります。
やはりAirHの文字が哀愁をさそいます
http://svn.coderepos.org/share/lang/perl/Email-Address-JP-Mobile/trunk/
いったんこのmime_encodingとかのメソッドは抜いた版でshipit、Encode::JP::Mobileのmimeブランチ完成後おすすめエンコーディング追加してアップデートしようと思います。
むだにModule::Pluggableつかってたり、Email::Addressにたくさんメソッドはやそうと考えていた時代のAUTOLOADがあったので消したりPODを修正したりしました
#mobilejp でメール送信まわりのモジュールでUPされてないやつどうだっけと聞かれて。ナウシカをBGMに、ここに書いた自分の過去のメモなど見つつ思い出してみた。基本情報としては
MIME-Header-なんちゃら エンコーディングを追加する?っていうブランチ
http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080724
miyagawaさんが眠らない人として有名、ってwhite camel賞もらったころの話ですね。au 以外はみんなゲタになるから無視しようとしたら、Softbankからgmailに投げた時のみ絵文字が取れるぽいからさポートしようか?って言うあたりでとまっていたらしいけど
http://mobilehacker.g.hatena.ne.jp/nihen/20090104/1231081872
http://coderepos.org/share/changeset/36808
これを見るに、 x-iso-2022-jp-softbank は無理に作らず、普通に無視してx-iso-2022-jpしちゃえってことかな?
草案: http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080729/1217321096
walf443 さんが作りかけてる。 http://github.com/walf443/p5-email-mime-jp-mobile
walf443さんのでは、Encode::JP::MobileのMIME-Header-なんちゃらエンコーディングに依存しているけど、その機能もまるごと含んでしまう、っていうのもありだと思う。ただEncode::JP::MobileにMIME-Header-なんちゃらエンコーディングがあると、何かと便利な気はする。メールの受信にEmail::MIMEを使うケースはあっても、送信にEmail::MIME使わないケースがあると思うので。(MIME::Lite派とか)
どうでもいいけど ::Jp:: が ::JP:: だと間違えなくていいきがする
Mail::Address::MobileJpのEmail::Address版。これshipitしてなかったけど、Email::Addressのオブジェクトから->carrier->nameとかが取れるのは悪くないなので出そうと思う。
ただオススメエンコーディングを出すところで詰まっていたぽい。とりあえず、Encode::JP::Mobileまたずにオススメエンコーディングを出すのをはずした状態で一発upしようかな。あしたあたり。あとなんでこれ Module::Pluggable つかってんだろ
メール送受信の件と関係ないけどこの2年間に出ていたkawasakiさんの類似モジュール。Encode::JP::Mobileとの違いは
て感じかな
AirHの文字が哀愁をさそいます