DoCoMoのVCalendar形式のファイルが、なぜ、素直にパソコンのスケジュールソフトなどのVCalendar形式で取り込めないんだろう?
ちょっと不思議だよね。
文字コードが違うのはわかるが、文字コードを合わせても、文字化けする。
PC側でどのスケジュールソフトを使っても同じなので、原因は、スマートフォン側のVCalendarファイルにあるんだろう。
で、あちこち、調べてみた。
参考になったのは、こんな記述。
vCalendarコンテンツフォーマット
vCalendarコンテンツはvCalendar1.0に準拠しており、「BEGIN:VCALENDAR」「VERSION:1.0」で始まり「END:VCALENDAR」で終わります。
iスケジュールの場合は1個以上、通常スケジュール、シンプルメモ、ToDoメモの場合は1個の「BEGIN:VEVENT」~「END:VEVENT」が「BEGIN:VCALENDAR」~「END:VCALENDAR」内に含まれます。
日本語については、文字セットはShift_JIS、エンコード方式はQUOTED-PRINTABLEになります。
ただしiアプリ連携プロパティに関してはBASE64になります。各プロパティは必ずで終端します。
なお、画像プロパティ、シールプロパティ(デコメ絵文字)については、が2個必要になります。
Byドコモ作ろうiモードコンテンツ
引っかかったのは、『エンコード方式はQUOTED-PRINTABLE』という記載部分。
QUOTED-PRINTABLEとは何か?
・Quoted-printable(QP encodingとも呼ばれる)は、印字可能な文字(例えば、英数字や等号「=」)を使用した符号化方式であり、8ビットデータを7ビットデータパスで転送するためのものである。
インターネット電子メールで使用できるようにするため、Content-Transfer-Encoding として定義されている。
Quoted-printable符号化方式は、任意のバイト値を一連のASCII文字に変換するための方式である。
この符号化方式は可逆変換であり、符号化されたバイト値が表す元のバイト値、つまり非ASCII文字に復元することができる。
入力文字列のほとんどがASCII文字である場合は、Quoted-printableで符号化した結果をほとんどそのまま読むことができ、データサイズも小さくなる。
一方、入力文字列のほとんどがASCIIではない場合は、Quoted-printableを使用してもそのまま読むことはできず、サイズ効率も非常に悪い。
おそらく、スマートフォンのVCalendarデーターは、データーサイズを小さくするためにQuoted-printableを使ってるんじゃないだろうか?
QUOTED-PRINTABLE以外のエンコード方式
Base64というエンコード方式がある。
Base64はデーター量が大きくなる傾向がある。
バイナリー形式データやラテン文字ではない言語に対しては、Base64を選択するのが道理にかなっている。
ということで、QUOTED-PRINTABLE形式のデーターをBase64に変換すれば、パソコンのVCalendar形式のインポートに適応したスケジュールソフトにスマートフォンのVCalendar形式のデーターを取り込めるのではないかと思うのだが・・・。
管理人が使っている『文字化け解読ツール Version 2.0.8 MBaker2V2081.lzh』というソフトは、文字コードの変換だけでなく、QUOTED-PRINTABLE形式のデーター⇒Base64という動作をやってるんじゃないだろうか?
で、vectorでQuoted-printableで検索してみると、それなり使えそうなソフトが見つかった
エンコードおよびデコード用のソフトウェア Base64 と Quoted-Printable に対応
エンコードおよびデコード用のソフトウェアです。
テキストデータまたはバイナリデータをエンコードできます。
さらにエンコードされたデータを、テキストデータやバイナリデータにデコードできます。
QUOTED-PRINTABLE_Convert
ケータイ電話のメールデータとか、カレンダーをバックアップしたファイルをエディタとかで読み込むと、文字化けしたような文字列が読めることがあります。
たとえばこんな感じ⇒ SUMMARY;ENCODING=QUOTED-PRINTABLE:=83e=83X=83g LOCATION;ENCODING=QUOTED-PRINTABLE:=83e=83X=83g=89=EF=8F=EA DESCRIPTION;ENCODING=QUOTED-PRINTABLE:=83e=83X=83g=83X=83P=83W=83=85=81[= =83=8B
この文字コードを「Quoted-printable」と言います。
この文字コードをSHIFT-JISに変換します。
ということで、この二つのソフトをダウンロードして使ってみようと思う。
『文字化け解読ツール Version 2.0.8 MBaker2V2081.lzh』より使いやすければ面白いんだけど。
コメント