36進数エンコード
255は36進数で73です。整数を数字とAからZの文字でできた短いコードに変換し、必要なときは10進数に戻せます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 変換する値
- 255
- 変換方向
- to_base36
- 10進数
- 255
- 10進数文字列
- 255
- 36進数
- 73
- 36進数(小文字)
- 73
この36進数エンコードツールは、0から9の数字とAからZの文字という古典的なアルファベットを用いて、整数を36進数の文字列に変換し、または36進数の文字列を10進整数に変換します。36進数はコンパクトな位取り記数法であり、16進数や64進数に飛ぶことなく10進数より高い密度が欲しい短いコード、請求書の接尾辞、URLトークン、教育用の桁の値の演習でよく使われます。エンジンは完全に決定的です。ネットワーク通信もランダムなサンプルも時計依存の近道もありません。
36進数の意味と結果の見方
36進数は36個の記号を使う位取りの整数体系です。0から9の値には10進数字の0から9を、10から35の値にはAからZの文字を使います。各桁は36のべき乗を掛けます。
最も右の桁は1の位、次は36の位、その次は1296の位というように続きます。10進整数のエンコードは古典的な繰り返し除算の過程です。大きさを36で割り、余りを次の最下位桁として記録し、商がゼロになるまで続けます。
デコードは36進数の文字列を左から右にたどり、累計を36倍して各桁の値を加えます。小数部分の浮動小数点経路も、3.5をサイレントに3に切り詰めることも、0から9とAからZの範囲外の句読点や記号の受け入れもありません。
拒否されるケースには、valueまたはdirectionの欠落、トリム後の空文字列、数字のない裸の符号、エンコード時の非整数の10進入力、デコード時の不正な36進数の文字、無限大やNaN、そして結果が常にNumber.MAX_SAFE_INTEGER内に収まるよう文書化された最大値を超える大きさが含まれます。
2進数、16進数、64進数のエンコーディングが必要な場合はそれぞれの専用ツールをご利用ください。
valueとdirectionの読み取り方法と結果を再現可能に保つ仕組み
directionは必須であり、マッピングを選択します。外側の空白はトリムされます。エンコード時、先頭の任意のプラスまたはマイナス記号は許可され、残りの文字は10進数字のみでなければなりません。
スペース、カンマ、アンダースコア、小数点、指数記号は使えません。裸のJavaScriptの数値は、有限の整数である場合にのみ受け付けられます。デコード時、数字は大文字または小文字のAからZでもよく、先頭の任意の符号も許可されます。
エンコードは絶対値に対する繰り返しの剰余抽出を用い、大文字の出力数字を生成します。ゼロはどちらの方向でも単一の数字ゼロにマッピングされます。
36進数変換が学習・商品コード・ソフトウェアで役立つ場面
学生が36進数に出会うのは、教科書が10進数を超える桁の値を紹介するとき、離散数学のコースが基数変換の演習を求めるとき、あるいはコーディング面接が短い非負整数のコンパクトなエンコードを求めるときです。
教師は、符号をサイレントに落としたり丸めによって非整数を受け入れたりする不透明な電卓アプリを信頼することなく、手頃な整数について模範解答をあらかじめ生成できます。プロダクトや運用のチームは、短い人間が読めるコードのために36進数を使います。
注文の接尾辞、倉庫のビンラベル、招待トークン、純粋な16進数のように見えることなく英数字を保つ必要があるスプレッドシートのキーです。ウェブ開発者は、連番のカウンターをより密な文字列にマッピングして公開IDにしつつ、結合や分析のために整数に戻してデコードします。
開発者は同じ契約をスクリプトから呼び出し、パーサー用の決定的なテストベクターの種を作ったり、設定UIでユーザーが入力した短いコードを検証したり、あいまいなスケッチではなく36進数文字列を要求するプログラミング課題の条件を満たしたりします。このページでの計算はすべてブラウザ内で完結します。
デジタルリテラシーとシステム業務向けに無料で決定的な基数ヘルパーの小さなラボを構築する際は、10進数→16進数や2進数→10進数の変換ツールのような関連するフォーマットツールと組み合わせてご利用ください。
活用例
宿題と基数の演習
教科書の整数を36進数に、また逆に変換し、答えを提出する前に桁の値の計算を検証します。
短いコードと商品ID
連番の整数をコンパクトな0-9 A-Zのコードにマッピングし、ラベル、招待トークン、人間が読める接尾辞に使えます。
決定的なテストフィクスチャ
パーサーに関するユニットテスト、プロパティチェック、CIアサーション向けに再現可能なbase36と10進数のペアを生成できます。
よくある質問
36進数で有効な文字は何ですか?
数字0-9と文字A-Z(入力時は大文字小文字を区別しません)です。
最大の大きさはどれくらいですか?
約900兆、正確にはNumber.MAX_SAFE_INTEGER(9007199254740991)です。
変換はどのように計算されますか?
エンコードは繰り返しの剰余を使います。nを36で割った余りを次の桁とし、その後n=floor(n/36)とします。デコードはホーナー法を使います。ゼロは0にマッピングされ、負の数は先頭にマイナスを保ちます。
255は36進数で何になりますか?
73になります。1桁目が36のまとまりの数、2桁目が1の位の数を表し、73を36進数から戻すと再び255になるので、両方向で確かめられます。
小文字で入力しても大丈夫ですか?
10進数に戻すときは大文字でも小文字でも同じように読み取ります。36進数に変換した結果は大文字で表示され、小文字の写しも並べて示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fmt/base36 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"255","direction":"to_base36"}'const res = await fetch("https://api.kit.forhosting.com/fmt/base36", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "255",
"direction": "to_base36"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/base36",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "255",
"direction": "to_base36"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/base36", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"255","direction":"to_base36"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"255","direction":"to_base36"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/base36", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": "255",
"direction": "to_base36"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.base36",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 9007199254740991 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
値と方向を指定します。 to_base36は整数を大文字の36進数字にマッピングし、from_base36は大文字小文字を区別しない36進数の文字列を10進整数にマッピングします。エンコードは大きさから36の剰余を剥がしていき、デコードは左から右へのホーナー法で数字を蓄積し、不正な36進数の文字は明確なinvalid_inputエラーで失敗します。宿題、短いIDのチェック、面接対策にはブラウザで無料にご利用いただき、CI、指導用ソフトウェア、教育デモで再現可能なフィクスチャが必要な場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
36進数変換の意味とレスポンスの内容
この計算ツールは、元の値のエコー、to_base36またはfrom_base36の正規化された方向タグ、10進整数とそのdecimal_string形式、大文字の36進数文字列と便利なbase36_lowerフィールド、base36というメソッドタグ、剰余法とホーナー法の両方のステップを要約した短い式の説明、文書化のためのbase_fromとbase_toの数値を返します。エンジンはサポートされる大きさの範囲内で整数または有効な36進数文字列の正確な変換を構築するか、invalid_inputで入力を拒否します。このページは、ワークシート、ユニットテスト、API利用者に適した安定した出力とともに、整数の10進数と36進数の変換のみに答えます。
valueとdirectionの読み取り方法と結果を再現可能に保つ仕組み
ペイロードの優先フィールドはvalueですが、v、input、text、number、n、decimal、base36といった別名も受け付けるため、クエリ文字列、スプレッドシート、型付きフォームは列名を変えずに同じ契約を再利用できます。to_base36、to、encode、decimal_to_base36は、valueを整数として扱い36進数字を出力することを意味します。from_base36、from、decode、base36_to_decimalは、valueを36進数文字列として扱い10進整数を出力することを意味します。アンダースコア、スペース、句読点を含むそれ以外の文字は、不正な36進数の文字を名指しするメッセージとともにinvalid_inputで失敗するため、不正なセルが誤った整数につながることはありません。デコードはホーナー法の累積を用い、base36フィールドを大文字に正規化します。自動化されたパイプライン内で36進数変換を自前で再実装することなく同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。
36進数変換が学習・商品コード・ソフトウェアで役立つ場面
API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、数学的な結果を変えることなく移行できます。
技術的な質問
36進数エンコードツールの料金はいくらですか?
このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。
どの方向に対応していますか?
整数を36進数にマッピングするにはdirection to_base36(またはto、encode)を、36進数文字列を10進整数にマッピングするにはfrom_base36(またはfrom、decode)を使ってください。