Uuencodeエンコーダー
「Hello, world!」を begin 644 data.txt で始まる古典的なuuencode文書に変換し、逆にテキストへ戻せます。1行は最大45バイトで、絵文字も元どおりに戻り、壊れたヘッダーは推測せずに拒否します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello, world!
- 結果
- begin 644 data.txt -2&5L;&\L('=O<FQD(0 end
- 計算モード
- Encode
- ファイル名
- data.txt
- ファイルモード
- 644
古典的なUnixのuuencodeは、任意のバイト列をメール安全なASCII文書にします。beginヘッダーにパーミッションのモードとファイル名を載せ、各本体行は長さ接頭辞文字で始まり、最後にend行で閉じます。メーリングリストのアーカイブ、ファームウェアのダンプ、Usenetの貼り付け、uuencodeやuudecodeを呼び出すレガシーなビルドスクリプトでも今なお見られます。
テキストを古典的Unix uuencodeへエンコードする
エンジンは文字列をUTF-8バイトへ直列化し、begin、644のような三桁または四桁の八進パーミッション、data.txtのような単一トークンのファイル名で始まる文書を出力します。先頭文字が長さ接頭辞で、ASCII値三十二にバイト数を加えた値として計算され、その後に三バイトずつのグループが歴史的な六ビット+三十二のアルファベットの四文字に写されます。
空文字列も合法で、beginとendの間に終端だけがある文書になります。多言語テキストと絵文字は往復します。経路は完全なUTF-8であり、Latin-1の近道ではありません。
ネットワークも乱数ソルトも壁時計もない純粋な算術のため、同一入力は常に同一出力です。短いスクリプト、設定断片、テキストのみの経路を生き延びる必要がある文書用フィクスチャに、貼り付け安全な古典的封筒が要るときにこの経路を使ってください。
日常の使い方と実務上の限界
GNU sharutilsや言語固有のuuモジュールを入れずに、教室デモ、サポート手順、単発変換にはブラウザ上の無料uuencodeエンコーダーをご利用ください。エンジンが拒否した検証失敗は残高を消費しません。別の流れは、リリース前に文書サンプルが文書化された平文へなお復号できるかを検証することです。
複数の歴史的封筒と相互運用するパイプラインでのみBase64やquoted-printableと組み合わせ、各ランディングが単一の検索意図に合うよう工程は分けてください。元テキストは他のKIT parse項目と同じ保持規則に従い、アルゴリズムはアイソレート間で完全に決定的なため、結果を継続的インテグレーションのフィクスチャに固定しても安全です。
よくある質問
uuencode文書をデコードするには?
modeをdecodeにし、完全な文書(begin … end)をtextに入れてください。
各行の長さ接頭辞は何を意味しますか?
各データ行の先頭文字は、その行が運ぶ復号後バイト数を符号化します(ASCII値 = 32 + 長さ、end前に長さゼロの終端)。古典行は最大45バイトです。
テキストをuuencodeで符号化するには?
テキストを貼り付けて符号化を選ぶだけです。begin 行から end 行までそろった文書ができるので、メールやチケットで送り、受け取った側でそのまま復号できます。
形式が壊れた入力はどうなりますか?
begin 行や end 行がない、1行が45バイトを超える、範囲外の文字がある、行が長さの表示より短いといった場合は、はっきりしたメッセージで止まります。begin 行より前の行は読み飛ばします。
ファイル名とパーミッションは指定できますか?
はい。符号化のときに install.sh のような空白のない名前と、755 のような3〜4桁の8進数を指定できます。省略すると data.txt と 644 になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/uuencode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/uuencode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/uuencode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/uuencode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/uuencode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello, world!"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.uuencode",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は平文のUTF-8テキストを完全な古典uuencode文書へ符号化するか、完全な文書をテキストへ復号し、不正なヘッダー・不正な長さ接頭辞・壊れた本体アルファベットを明確なinvalid_inputで拒否します。システムバイナリを各ホストへ入れずに安定したuuencode工程が必要なスクリプト、SDK、パイプライン向けです。
テキストを古典的Unix uuencodeへエンコードする
必須の文字列フィールドtextに包みたい平文メッセージを入れたJSON本体を送り、modeは既定のencodeのままにするか明示的にencodeを指定し、必要に応じてbeginヘッダー用にfilenameとfilemodeを渡してください。各本体行は最大四十五バイトのペイロードを運びます。最終のend行の前に長さゼロの終端行があり、古典的なuudecodeツールがペイロード完了を知ります。クライアントが古いフォーム名を再利用する場合、textにはinput、value、s、payload、dataの別名を受け付けます。応答には完全なuuencode文書のresult、mode encode、ヘッダー値を反映するfilenameとfilemode、符号化前のUTF-8長であるbytesが含まれ、テストでサイズを検証できます。
uuencode文書をデコードし、不正入力を扱う
modeをdecodeにし、begin行、長さ接頭辞付き行、長さゼロの終端、endフッターを含む完全な古典uuencode文書をtextに入れてください。begin前の余分な行はスキップされるためメールの貼り付けも使え、復帰改行は正規化され、歴史的ツールが末尾空白の扱いで食い違うため、符号化ゼロとして空白とバッククォートの両方を受け付けます。エンジンはbeginヘッダーから八進モードとファイル名を解析し、各データ行を辿り、長さ接頭辞が古典的な四十五バイト上限を超えないことを検証し、各四文字を三バイトへ戻し、end前の長さゼロ終端で停止します。検索意図が古典的beginモード形式のuuencodeまたはuudecodeそのもののときは本機能を選び、Base64、Base64url、PEM包みは別アルファベット・別ヘッダーの別ランディングです。begin欠落、end欠落、終端後の非空行、印刷可能uuencode範囲外の不正本体文字、長さ接頭辞が要求するより短い切れた本体は、静かなゴミではなく明示メッセージ付きのinvalid_inputになります。バイトペイロード復元後は致命的デコーダでUTF-8として解読するため、有効なUnicodeでない壊れたバイナリもきれいに失敗します。成功時はresultに復元文字列、mode decode、ヘッダー由来のfilenameとfilemode、復号後UTF-8長のbytesを返します。decode時にfilenameやfilemodeを任意で渡す場合はヘッダーと一致しなければならず、一致しないと要求は失敗します。前払いAPIでは検証失敗は課金されないため、怪しいアーカイブ貼り付けの調査は運用者に安く、利用者にも安全です。
API利用、料金、ワークフロー、実務上の限界
バックエンド、サーバーレス関数、SDKが同じencodeまたはdecode手順を残高のもとで必要とする場合は、成功1件あたり$0.002の前払いKIT APIを使います。典型的な流れは、filenameをinstall.sh、filemodeを755にして短いシェル断片を符号化し、チケット系で文書を送り、受信サービスでmode decodeし、bytesとfilenameの一致を確認することです。SDKを出す作者はresultをそのままコピーボタンへ写せ、filename、filemode、bytesのラベルにより、古いマニュアルのbegin 644 名前パターンしか知らない読者にもOpenAPI例が自明になります。
連携の活用例
レガシーメールとUsenetの貼り付け
メーリングリストのアーカイブやUsenetダンプから回収した古典uuencodeブロックをUTF-8テキストへ戻し、行の途中で切れた貼り付けには明確なinvalid_inputを出します。
ドキュメントとCIのゴールデン検査
beginヘッダーと長さ接頭辞行を含むencode/decodeフィクスチャを固定し、古典アルファベットや終端規則がずれたら継続的インテグレーションがすぐ失敗するようにします。
サポートと教育
担当者と学習者は無料のブラウザウィジェットでテキストをuuencodeへ往復し、システムuuencodeバイナリを入れずに歴史的なモードとファイル名ヘッダーを学べます。
技術的な質問
テキストをuuencodeするには?
textに平文の文字列を入れ、mode encode(またはmode省略)のJSONを送ってください。必要ならbeginヘッダー用にfilenameとfilemodeを設定します。resultに完全な古典uuencode文書が入ります。
uuencodeエンコーダーは無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは前払いKIT残高を成功1件あたり$0.002で使い、検証失敗は課金されません。
uuencode入力が不正な場合はどうなりますか?
begin/end枠、長さ接頭辞、本体アルファベット、UTF-8ペイロードが不正なとき、decodeはinvalid_inputで失敗します。エラーメッセージが問題を示し、要求は課金されません。