1.uuencodeとは | Aug. 24, 2002 |
---|---|
メールを発信するためのプロトコルであるSMTPは元々7ビット以内のASCIIコードしか送信することができません。 8ビットのコードを7ビットに変換し、仮想的に7ビットのASCIIコードに
変換する必要がある のです。ここでピンと来た方もいらっしゃるかも知れませんが、uuencodeというは、UNIX標準で使われていた 8ビット→7ビット符号化(プログラム)のことなのです。 ただし現在では、符号化は BASE64という方式がUNIXでもWindowsでも、macでも標準となっています。 ところでメールで日本語をそのまま送れるコードは、JISコードのみです。JISコードの漢字は0x21〜0x7Eの 範囲にあるからなのです。それ以外のコードを使うときにはMIMEに準拠してヘッダを拡張し、 uuencodeやBASE64で符号化する必要があります。 |
2.問題点 | Aug. 25, 2002 |
---|---|
やっと、本題ですが^^;)、Shurikenシリーズはuuencodeに対応しています。(uudecode可能) |
3.原因 | Sep. 6, 2002 |
---|---|
uuencodeでは、ビットストリームを7ビットごとに抜き取っていきます。 つまり、uuencode形式でエンコードされた文字の集まりの最後の行はスペース or `
が1つあるのです。
Shurikenシリーズは、エンコードされた文字全体が0x20でも0x60になっているものでも正しくデコードできます。 しかし、最後の0バイトを意味するコードだけは、0x60でないと正しくデコード出来ないのです。 wemail32は、0x20を全て0x60に変換していますが、何故か最後の0x60の後に0x20を1つだけ挿入してしまいます。 Shurikenは、uudecodeの実装上の問題から、これを正しくデコードできません。 また、StarOfficeの場合には0x20がそのままで届くために正しくデコードできません。 |
4.対策 | Sep. 6, 2002 | |
---|---|---|
メールが保存されているフォルダを直接開き、該当する .mbxファイルをJISコードの扱える
エディタで開きます。メモ帳でも開くことはできますが、保存すると
Shift JISしか扱えないので文字コードが破壊され読めなくなる可能性があります。
これだけで完了です。 また、上記の最後の`の後にスペースが入っている場合にはこれを削除するか、`に置き換えます。 |
このページ以降で記載されている社名/商品名などは一般に各社の商標または登録商標であり、
このページではTMや®マークは省略しています。