No.2ベストアンサー
- 回答日時:
>そこで、このようなものをわざわざ自分で作らなくても、既存のアプリなり、関数なりで処理できないのかと思った次第です。
探してみないことには断言できませんが…
おそらく無い…でしょうね。
HTMLでUTF-8などの非ASCIIをquoted-printableエンコードで出力する。
なんていう事態がそもそも普通ではありませんし。
HTMLメールをUTF-8で……というのであれば、MIMEの仕様に沿った形式で出力すべきです。
HTMLメールなら通常はテキスト形式以外に別に添付…みたいな形式でしょうから、html部分は丸ごとbase64とかても可能なのではないですか?
送信側がどう処理しているのか判りませんが。
>しかし、実際には=の直後に改行0x0Aがあったり、</p>の直前に=があったりと、結構処理がめんどくさそうです。
送信側がどういうルールで作成したのか判らないので、
ある程度は試行錯誤…でしょうかね。
=の直後に改行がある。に関しては、改行は無視する処理を追加…でしょう。
htmlである以上、途中にある改行は無視…のハズですから。
# SMTPの仕様では78文字辺りで改行する。というようなものがあったかと。
# リレーしている途中のサーバで強制的に改行された可能性も否定しきれません。
<//p>直前の'='は…無視するか、実際に'='のまま出力するか…のどちらかかと。
quoted-printableエンコードなら'='自体もエンコード対象のハズですが。
有難うございます。
改行の前後は、例えば、
...=EF=BC=A1=EF=\n=BC=A2...
のようになっているので、=\nを読み飛ばせば良いですね。
文字列を観察しながら、何とか努力して、処理ルーチンを作成してみたいと思います。
No.1
- 回答日時:
MIMEのquoted-printableエンコード…でしょうかね。
エンコード方法としては複雑でもないですから、デコード処理自体はそれほど難しくないでしょう。
'='が来たらその後ろ2文字を16進数文字として数値化するだけ。
quoted-printableエンコード以外の場所で'='が来た場合…が問題ですけどね。
まぁ、今回の場合は…
・htmlタグの内側('<'から'>'の間)ではない。
・<p></p>の間。
とか条件あるでしょうからソレでなんとかできるのではないかと。
デコードした後の文字列の扱いの方が問題かも知れませんが。
# 文字コードとして。
まぁ、今回はUTF-8と確定しているようですから……
デコードしてhtmlファイルにするときに正しくUTF-8で書き出せば良いかと。
# htmlヘッダなどで文字コード指定している場合はそちらもUTF-8にする必要があるでしょうけど。
# <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" > とか。
この回答への補足
Wr5様
早速のご回答有難うございます。
おっしゃる趣旨は大変よくわかります。実は私もそうしようとしていました。しかし、実際には=の直後に改行0x0Aがあったり、</p>の直前に=があったりと、結構処理がめんどくさそうです。また、<p>の他にもタイトル行などの処理も必要でしょう。そこで、このようなものをわざわざ自分で作らなくても、既存のアプリなり、関数なりで処理できないのかと思った次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(ソフトウェア) powershell で出力したテキストファイルをvim で開くと文字化け 2 2023/01/11 21:39
- その他(プログラミング・Web制作) Sikulix2.0.5(Jython2.7.3)でcsvを読込WEB検索条件にpasteで文字化け 1 2023/03/31 11:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
データベースから取り出したテ...
-
jsp 改行コードで改行させて表...
-
C++で空Enterの入力を判...
-
【VBA】エクセルで最後の不要な...
-
VBAでCSVをExcelに取り込む時に...
-
変数の中の改行コードをBRタグ...
-
fscanfについて
-
アスキーコードへの変換につい...
-
最終行の改行について
-
ファイル内の1行(レコード)から...
-
JAVA System.out.println の ...
-
改行を読み飛ばす
-
テキストファイルから改行コー...
-
C# csvでセル内で改行するには
-
COBOLの改行
-
秀丸の正規表現で複数行にわた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
COBOLの改行
-
改行について
-
最終行の改行について
-
C++で空Enterの入力を判...
-
【VBA】エクセルで最後の不要な...
-
jsp 改行コードで改行させて表...
-
C++でのCRLFについて
-
ファイルから読み取った改行文...
-
テキストファイルから改行コー...
-
ExcelVBAでメールを作成してメ...
-
awkで改行を除いて文字列を抜き...
-
エクセルVBA 文字列領域が不足...
-
VBAでCSVをExcelに取り込む時に...
-
コンボボックスの項目中に改行を
-
JavaDoc コメントの改行について
-
Excel VBAからBeckyを起動して...
-
改行を読み飛ばす
おすすめ情報