Quoted-printableエンコード・デコード
Hello caféをHello caf=C3=A9に変換し、元に戻すこともできます。アクセント付きの文字や記号は等号と16進数の組になり、通常の英字は読めるまま残ります。メール本文の確認に便利で、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello café
- 計算モード
- Encode
- 結果
- Hello caf=C3=A9
- エンコーディング
- quoted-printable
- 入力バイト数
- 11
- 出力バイト数
- 15
このquoted-printableエンコードツールは、RFC 2045セクション6.7の規則を用いて、平文のUTF-8テキストをMIME Quoted-Printableに変換し、QP文字列を読みやすいテキストにデコードします。Quoted-printableは、ほとんどのASCII文字を読みやすいまま保ちつつ、安全でないオクテットをイコール記号の16進エスケープとしてエンコードします。だからこそ、メール本文、レガシーなメールゲートウェイ、多くのMIMEツールの経路は、完全なBase64の不透明さを強制することなく国際的なテキストを扱うために今もこの方式に依存しています。エンジンは完全に決定的です。同じ入力とモードは常に同じ結果を生み、ネットワーク通信もランダムなソルトも日付依存の近道もありません。よくある検証例として、Hello caféのエンコードはHello caf=C3=A9になり、その文字列のデコードは元のフレーズに戻ります。
quoted-printableとは何か、そしてこのツールが返す内容
quoted-printableは、主にテキストのデータが不透明なBase64にならずに7ビットまたは制限のあるメール経路を移動できるよう、MIME向けに定義されたコンテンツ転送エンコーディングです。
安全な印字可能ASCII文字は通常そのまま現れ、イコール記号はエスケープの導入記号として予約されており、それ以外のオクテットはイコール記号に続けて2桁の16進数として書かれます。
ソフト改行、つまりCRLFの前の行末のイコール記号は、デコードされたテキストにハード改行を挿入することなく、エンコーダーが各エンコード行を古典的な76文字の制限内に収められるようにします。このページはUTF-8テキストについて常にこの契約に従います。
エンコードモードは文字列をUTF-8エンコードし、各バイトをリテラルまたはイコール16進のトークンにマッピングし、行が制限内に収まるようソフト改行を挿入します。デコードモードはソフト改行を取り除き、イコール16進のペアをバイトに展開し、推測するのではなく不完全または非16進のエスケープシーケンスを拒否します。
ストリーミング経路も、壊れたQPのサイレントな修復もありません。
テキストとモードの読み取り方法と結果を再現可能に保つ仕組み
modeは既定でencodeとなり、decodeを明示的に受け付けます。op、direction、actionといった別名は、すでにそれらの名前を使っているスクリプトのために同じスイッチにマッピングされます。
エンコードは任意のUnicode文字列を受け付け、プラットフォームのTextEncoderでUTF-8バイトに変換した上で、大文字の16進エスケープとソフトなCRLFの折り返しを伴うquoted-printableを出力します。デコードは正しい形式のQP文字列を要求します。
バイトが復元された後、致命的なUTF-8デコードにより、バイナリのごみが文字化けしたテキストにならないことが保証されます。
quoted-printableがメール・MIME・テストフィクスチャで役立つ場面
開発者は、Content-Transfer-Encoding: quoted-printableと表示されたメール本文を調べるとき、SMTPゲートウェイ向けに国際的な平文メッセージを作成するとき、あるいは生のメッセージダンプでcaféのアクセントがなぜイコール16進のペアになったのかをデバッグするときにquoted-printableに出会います。
フロントエンドやサポートのチームは、ソフト改行を誤って扱う場当たり的なスクリプトにデータを貼り付けることなく、チケット調査中にQPスニペットをデコードします。バックエンドサービスは、8ビットクリーンな転送が保証されていないMIMEパートに入れる前に、設定のサンプルや短い多言語の文字列をエンコードします。
品質エンジニアは、QP対応を主張するメールライブラリが16進の大文字小文字の規則をサイレントに変更したりソフト改行を落としたりできないよう、契約テストのために決定的なエンコード・デコードのペアを生成します。
関連する転送エンコーディングが必要なときはBase64のヘルパーと、無料で決定的なエンコーダーの小さなラボを構築する際は他のテキストツールと組み合わせてご利用ください。
活用例
メール本文のデバッグ
アクセントとソフト改行がメールクライアントの表示と一致するよう、生のメッセージからMIME quoted-printableのスニペットをエンコード・デコードします。
レガシーゲートウェイの準備
制限された7ビット経路を通す前に、UTF-8の平文を転送安全なquoted-printableに変換します。
よくある質問
quoted-printableはBase64とどう違いますか?
quoted-printableはほとんどのASCIIを読みやすいまま保ち、安全でないオクテットのみを=XXとしてエスケープします。Base64はすべてのバイトを不透明なアルファベットにエンコードし、純粋なバイナリに適しています。
エスケープシーケンスが不正な形式の場合はどうなりますか?
不完全な=XX、=の後の非16進数字、末尾の孤立した=は、いずれも推測されるのではなく拒否されます。
結果は決定的ですか?
はい。 同じテキストとモードは、ネットワーク、乱数、日付依存の挙動なしに常に同じ結果を生みます。
éが=C3=A9になるのはなぜですか?
UTF-8ではéがC3とA9の2バイトで表されるためです。quoted-printableは通常のASCII以外の各バイトを等号と2桁の16進数で書くので、アクセント付きの1文字が6文字になります。
quoted-printableのソフト改行とは何ですか?
符号化した行の末尾に置く等号のことです。本当の改行を入れずに長い行を分けるためのもので、デコードするときにこの等号を取り除き、行を元どおりにつなげます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/quoted-printable \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello café"}'const res = await fetch("https://api.kit.forhosting.com/enc/quoted-printable", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/quoted-printable",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/quoted-printable", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/quoted-printable", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello café"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.quoted_printable",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
メッセージ、件名のフラグメント、フィクスチャ文字列を転送安全なQPに変換するにはエンコードを、すでに保持しているquoted-printableのペイロードから元のテキストを復元するにはデコードを選んでください。メールのデバッグとMIMEの練習にはブラウザで無料にご利用いただき、パイプラインがCIやバックエンドサービスで再現可能なquoted-printable変換を必要とする場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
quoted-printableとは何か、そしてこのツールが返す内容
JSONレスポンスには、変換された文字列を表すresult、encodeまたはdecodeをエコーするmode、quoted-printableに固定されたencoding、テストでサイズをアサートできるようinput_bytesとoutput_bytesが含まれます。文字列が有効なquoted-printableテキストであるか、そうでなければinvalid_inputでリクエストが失敗するかのいずれかです。不透明なバイナリの詰め込みが必要な場合は、Base64またはBase64urlのエンドポイントを優先してください。このランディングページは、メールクライアントとMIMEライブラリがすでに想定している、読みやすいメール指向のQPエンコード専用です。
テキストとモードの読み取り方法と結果を再現可能に保つ仕組み
優先されるペイロードフィールドはtextで、input、value、sといった別名を受け付けるため、フォーム、クエリ文字列、SDKクライアントは列名を変えずに同じ契約を再利用できます。入力末尾の孤立したイコール記号、1文字のみが続くイコール記号、非16進の数字が続くイコール記号は、いずれも不正な形式のエスケープを名指しする明確なinvalid_inputメッセージとともに失敗します。自動化されたパイプライン内でquoted-printableのテーブルを自前で再実装することなく同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。無効な入力はinvalid_inputを返し課金されないため、検証は安価なままであり、成功した変換は固定の項目価格のままです。
quoted-printableがメール・MIME・テストフィクスチャで役立つ場面
教育者は、主にテキストのペイロードにおけるBase64の不透明さとquoted-printableの読みやすさの違いを教えるときに同じツールを使います。このページでの計算はすべてブラウザ内で完結します。API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、エンコードされた結果を変えることなく移行できます。
連携の活用例
MIMEフィクスチャの生成
ユニットテスト、ゴールデンファイル、SMTPまたはIMAPの統合チェック向けに再現可能なQP文字列を生成します。
技術的な質問
Quoted-printableエンコードツールの料金はいくらですか?
このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。
どのモードに対応していますか?
mode=encode(既定)は平文をquoted-printableに変換します。mode=decodeはQP文字列をUTF-8テキストに戻します。