Hatena::Groupmobilehacker

clouderの日記

2008-05-19

Willcomの絵文字入りメールの仕様

20:17 |  Willcomの絵文字入りメールの仕様 - clouderの日記 を含むブックマーク はてなブックマーク -  Willcomの絵文字入りメールの仕様 - clouderの日記

忘れちゃうので覚え書き。

Willcomメールは下記のようになってる。

a ESC$B あ [太陽]ESC(B
ESC$B あ ESC(B a [太陽]
[太陽] ESC$B あ ESC(B a
[太陽] a ESC$B あ ESC(B
ESC$B あ [太陽] ESC(B a
a [太陽] ESC$B あ ESC(B
[太陽][傘][雲]

それぞれの意味は以下

これを見る限り、

というルールがあるように見受けられる。

前にも書いた通り、絵文字だけはSJISという奇妙仕様…。

ちなみに Content-Type は text/plain;charset="ISO-2022-JP" になっている。

2008-02-26

Encode::JP::Mobileにx-iso-2022-jp-airhを追加してみた。

22:19 |  Encode::JP::Mobileにx-iso-2022-jp-airhを追加してみた。 - clouderの日記 を含むブックマーク はてなブックマーク -  Encode::JP::Mobileにx-iso-2022-jp-airhを追加してみた。 - clouderの日記

ブランチ作ってやってみたよ!podはまだ書いてません><

ブランチはこちら↓

http://coderepos.org/share/browser/lang/perl/Encode-JP-Mobile/branches/convert-willcom-mail-pictogram

changesetはこちら↓

http://coderepos.org/share/changeset/7172

ほとんどKDDIJISからのコピペなんだけど、ちょっとだけ違います。

(関数とかバリバリコピペでDRYじゃないので、どうしましょうか>id:tokuhirom)

まずはAirHから送られてくる絵文字入りメールの仕様ですが、AirHのメールの本文は基本的にiso-2022-jpなんだけど、DoCoMo互換の絵文字だけはそのまんまのshiftjisでくるため、そこの部分だけをうまいこと変換してやらなくちゃならない。(KDDIJIS.pmはバイトをずらしたりしてるけど、その部分の処理がAirHJIS.pmと違う。)

例えば、[ISO]をiso-2022-jpで、[SJIS]を絵文字とすると

[ISO][ISO][ISO][ISO][SJIS]、[ISO][ISO][ISO][ISO][SJIS][ISO][SJIS]

なんて感じのメールになってる。

で、実際のAirHJIS.pmの動作としては以下のようになってます。

decodeするときは、[SJIS]にマッチするものだけshiftjisのままにしておきつつ、[ISO]の部分だけshiftjisに変換し、最終的にx-sjis-docomo-rawを使ってdecodeしています。

encodeするときは、まずx-sjis-docomo-rawでencodeしたあとに、1文字ずつDoCoMo互換の絵文字の領域のものだったそのまま残して、それ以外の文字であったらiso-2022-jpに変換していくという処理をしています。

まぁ、そのままですね。

どうでしょう>Encode::JP::Mobile's authors

2008-02-14

HTML::Entities::ConvertPictogramMobileJpのmake test

22:20 |  HTML::Entities::ConvertPictogramMobileJpのmake test - clouderの日記 を含むブックマーク はてなブックマーク -  HTML::Entities::ConvertPictogramMobileJpのmake test - clouderの日記

こけるね。

時間がないので、あとでみる。メモ

2008-01-23

WWW::MobileCarrierJPのtestでこける

21:00 |  WWW::MobileCarrierJPのtestでこける - clouderの日記 を含むブックマーク はてなブックマーク -  WWW::MobileCarrierJPのtestでこける - clouderの日記

DoCoMoUAのページに705i系が追加されてたからだった。

追加された端末を08_docomo_htmlversion.tに追加しときました>id:tokuhirom

http://coderepos.org/share/changeset/5359

cpan shell の force install

21:09 |  cpan shell の force install - clouderの日記 を含むブックマーク はてなブックマーク -  cpan shell の force install - clouderの日記

今更だけどcpan shellでforce installするには

% cpan -f Module::Name

とすればいいことを初めて知った…。

2008-01-21

Encode::JP::Mobileのtoolsとdat

14:24 |  Encode::JP::Mobileのtoolsとdat - clouderの日記 を含むブックマーク はてなブックマーク -  Encode::JP::Mobileのtoolsとdat - clouderの日記

TODO: いまものすごい勢いで開発が進んでいるEncode::JP::Mobileのtoolsとdat以下のファイルが何に使えるのかよくわからないのであとで調べてみる。