テキスト→八進
Helloは110 145 154 154 157になり、UTF-8の各バイトが3桁の八進数で表されます。区切りは空白、コロン、カンマ、縦線、区切りなしから選べ、八進ダンプを同じ方法で文字に戻せます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello
- 計算モード
- Encode
- 区切り
- Space
- 結果
- 110 145 154 154 157
- 長さ
- 19
- バイト数
- 5
- エンコーディング
- utf-8
テキストから八進への変換器は、通常の文字を各UTF-8バイトを表す八進(基数8)の数字に変え、同じダンプを読み取り可能なテキストへ戻すこともできます。エンジニア、学生、リバースエンジニアリングの学習者は、レガシーダンプ、Cのエスケープ列、権限教材、プロトコル追跡など、1バイトあたり3桁のグループが手で読みやすい場面で今も八進に出会います。encodeモードは文字列をUTF-8として読み、各バイトを先頭ゼロ付き3桁の八進値に写し、選んだ区切り(space、区切りなしのnone、colon、comma、pipe)で結合します。decodeモードは同じ規則でダンプを分割し、各桁が0から7の範囲か確認してバイト列を再構築し、UTF-8テキストを返します。
テキストがバイト単位の八進になる仕組み(とその逆)
八進は基数8です。 各桁は0から7のいずれかであり、3桁の八進はちょうど1つの8ビットバイトを覆います。8の3乗は512で、255より大きいからです。したがって符号化はUnicodeコードポイントだけからではなく生のバイトから始まります。
この機能はまず入力文字列をUTF-8で変換し、マルチバイト文字が言語やプラットフォームを越えて移植可能になるようにします。結果の各バイト(0〜255)は先頭ゼロ付きの3桁八進トリプルとして書かれ、文字H(十進72)は110、小文字eは145などになります。これらのトリプルは区切りで結合されます。
古典的ダンプには空白(space)、桁の連続には区切りなし(none)、ログ向けにはcolon、表計算の貼り付けにはcomma、シェル向けリストにはpipeです。復号はその道を逆にします。入力は同じ区切り規則で分割され、separatorがnoneのときは空白を除き、残りの本体の長さが3の倍数である必要があります。
各トークンは文字ごとに検査され、0から7の桁だけが合法です。有効な各トークンは基数8として解釈され、1バイトに収まる必要があります(最大は八進の377)。復元されたバイトはUTF-8テキストとして復号されます。
送る内容と返ってくる内容
separatorを省略すると既定はspaceで、読みやすいダンプになります。encodeモードはtextを平文UTF-8として扱い、選んだ区切りで結合した八進トリプルのresult文字列を返します。decodeモードはtextを八進ダンプとして扱い、各桁を検証し、復元したUTF-8文字列をresultに返します。
検証失敗は前払い残高を消費しません。古典的な確認例として、Helloをspace区切りで110 145 154 154 157にencodeし、同じダンプをHelloへdecodeし、Hiをcolon区切りでencodeし、桁8を含むトークンを拒否します。
無料のブラウザフォームで素早い確認と授業デモを行い、一括フィクスチャが必要なときは同一契約をスクリプトから呼び出してください。
実務でテキスト→八進変換が現れる場面
システム系の授業では、十六進にすぐ飛ばずASCII表・バイト境界・マルチバイトUTF-8列を結びつけるため、文字ダンプを八進で印刷する課題が今も出ます。ファームウェアやプロトコルのリバースエンジニアリングでは、古いログ、シリアル採取、十六進ツール普及前の文書に八進断片が残り、不正な桁を拒否する厳密な復号器が必要です。
数の基数を教えるカリキュラム著者は、汎用の整数基数変換に埋もれさせず、バイト単位符号化を示す専用テキストランディングを望みます。検索フレーズと心的モデルが異なるからです。サポート窓口やセキュリティレビューはチケットから貼られた八進ブロブを受け取り、空白を許容するspace区切り復号が必要ですが、誤ったパスワードやトークンを生む8と9は受け付けません。
二進・八進・十進・十六進の整数変換、Base32秘密、URLパーセント符号化、chmod rwxの八進権限などが必要な場合は、このテキスト→八進コンバータページに詰め込まず、別の検索意図とランディングとして扱ってください。
活用例
授業でのUTF-8とASCIIの八進ダンプ
各文字を先頭ゼロ付き3桁の八進バイトとして示し、学生がテキスト・マルチバイトUTF-8列・基数8の桁を一つの演習で対応づけられるようにします。
レガシーログとプロトコル貼り付けの復元
古いトレースからのspaceまたはcolon区切り八進ダンプをUTF-8テキストへ戻し、桁8や9が出たらはっきり失敗させます。
よくある質問
このテキスト→八進コンバータは何をしますか?
UTF-8テキストをバイト単位の3桁八進グループとして符号化します(またはそのダンプをテキストへ復号)。modeとグループ間のseparatorを選べます。
符号化と復号の両方できますか?
はい。 modeをencode(既定)にすると平文UTF-8を八進にし、modeをdecodeにすると八進バイトダンプからテキストを復元します。
対応している区切りは何ですか?
space(既定)、none(3桁グループのパック)、colon、comma、pipeです。encodeはその区切りで結合し、decodeは同じ規則で分割します。
1バイトがちょうど3桁の八進数になるのはなぜですか?
3桁の八進数でどのバイトも表せるためです。各バイトはHなら110のように、先頭を0で埋めた3桁で書かれます。幅が決まっているので、区切りのないダンプでも迷わず分けられます。
復号するときに8や9があるとどうなりますか?
すぐに拒否され、どのグループのどの数字が誤りかが示されます。八進数で使える数字は0から7だけなので、打ち間違えたダンプが黙って別の文字になることはありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/octal-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello"}'const res = await fetch("https://api.kit.forhosting.com/enc/octal-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/octal-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/octal-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/octal-text", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.octal_text",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
8や9の桁は直ちにinvalid_inputで失敗し、誤った貼り付けが黙って別の文字列になることはありません。無料のブラウザツールと有料APIは同一の純粋な同型関数を共有するため、授業デモ、スクリプト、本番webhookは常に同じ変換結果で一致します。
テキストがバイト単位の八進になる仕組み(とその逆)
8と9は、トークン位置と0〜7の範囲外の桁を示す明確なinvalid_inputメッセージで拒否されます。経路全体はネットワークも乱数シードも壁時計タイムスタンプもない決定的な整数演算であり、同一入力は常に同一のJSONを生成します。このページはテキストとバイトダンプに関するもので、大きな整数を十進から八進へ書き換える整数基数変換ではありません。それは別の検索意図と別のツールです。
送る内容と返ってくる内容
必須の文字列フィールドtext、任意のmode(encodeまたはdecode)、任意のseparator(space、none、colon、comma、pipe)を送ってください。modeを省略すると既定はencodeで、単一のペイロードでも有用です。両方向ともmode、元のtext、result、正規化したseparatorキーワード、主出力文字列のlength、UTF-8バイト長のbyte_count、encoding(utf-8)、base(8)、digit_width(3)をエコーし、クライアントが到達したプロファイルを確認できます。text欠落、非文字列オブジェクト、未対応のmodeやseparator、文書化上限を超える文字列、空トークン、3桁超のトークン、1バイト超の値、0〜7外の桁、長さが3の倍数でないパック本体、または有効なUTF-8でないバイトはすべてinvalid_inputと明確な英語メッセージで失敗します。成功したAPI呼び出しの料金は公開ベースの$0.002/件です。
実務でテキスト→八進変換が現れる場面
印刷可能な八進フィールドを持つレガシー形式を文書化する製品チームは、公開APIと同じ関数からマニュアル用の例を生成できます。この機能は純粋なparseエンジンであるため、API料金は成功件あたり公開ベースの$0.002で、失敗した検証は残高を消費しません。
連携の活用例
ダンプ形式向けのクロスツールgoldenフィクスチャ
固定のseparatorでencode/decodeフィクスチャを生成し、多言語CIが同じバイト単位八進表現で一致するようにします。
技術的な質問
復号時に許される桁はどれですか?
0から7の桁のみです。8や9(またはトークン内のその他の非八進文字)はinvalid_inputで失敗し、0-7の範囲外の桁を示すメッセージが出ます。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。APIリクエストは前払いKIT残高を成功件あたり$0.002で使用し、無効な入力は課金されません。