UIC車両番号チェックディジット
車両番号の最初の11桁が21812471217なら、チェックディジットは3で、完全なUIC番号は218124712173です。12桁の番号を貼り付ければ、最後の桁が合うかもすぐ分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 21812471217
- 計算モード
- Compute
- 入力
- 21812471217
- チェックディジット
- 3
- 貨車番号
- 218124712173
鉄道事業者、貨車の所有者、物流システムは、貨物・旅客の車両を12桁のUIC欧州車両番号で識別します。そのうち11桁は種別・国・一連番号の身元を符号化し、12桁目は固定の交互2・1重みから導かれる自己検査ディジットであり、1桁の打ち間違いや転置が、別の有効な車両に見えるよりはるかに失敗しやすくなります。どちらの経路も同じ純整数アルゴリズムを使い、ネットワーク往復も車両台帳の保存もありません。
UICチェックディジットの計算方法
UICおよび欧州車両番号規則は、12桁車両番号の先頭11桁に対する決定的なチェックディジットを定義します。折りたたんだ11個の値を合計します。チェックディジットは、その合計の10に対する剰余を10から引き、再び10で剰余を取ります。
すでに10で割り切れる合計ではチェックディジットは0になります。その1桁を付けると、車体やフリートDBに載る完全な12桁番号が得られ、しばしばグループ空白とチェックディジット前のハイフン付きで印刷されます。検証はその逆で、先頭11文字から期待桁を再計算し、12桁目と比較します。
* ツールの EAN、カード Luhn、Damm、mod-97 と区別できるようにします。
UICチェックディジットが活きる鉄道業務
車両の所有者とキーパーはクラスと国コード内で一連番号を割り当てます。塗装・銘板・TAF/TSI 台帳を更新する前に正しいチェックディジットを付け、パートナーや沿線システムが初回読取で身元を受け入れるようにします。
工場・保守システムは12桁のキーパー CSV を取り込み、チェックディジットが一致しなくなった行を拒否すべきで、人為編集と上流生成器のオフバイワンの両方を捕捉します。職員が貨車番号を手入力できるインターモーダル/ターミナルゲートアプリは、フォーカス喪失時に検証し、valid が true になるまで移動を止め、EDI 失敗やヤード不一致を減らせます。
どの流れでも契約は同じです。通過するチェックディジットを割当・キーパー権・種別コード正しさの証明と見なさないでください。それは12桁列が UIC の交互2・1規則の下で算術的に整形式であることの証明にすぎず、工業用チェックサムと同じ誠実さの基準です。
活用例
キーパーおよび RIV 交換ファイルを監査する
パートナー CSV や EDI エクスポート内の12桁車両番号を一括検証し、チェックディジットが再計算の期待値と一致しなくなった行を隔離します。
よくある質問
UIC貨車番号のチェックディジットとは何ですか?
欧州鉄道車両番号の12桁目で、先頭11桁に交互の重み2と1および Luhn 風の桁和折りたたみを適用して計算します。1桁の打ち間違いが、別車両に見えるよりはるかに失敗しやすくなります。
UIC車両番号のチェックディジットはどう計算しますか?
左から11桁に2、1、2、1…と交互に掛けます。9を超える積は2つの位の数字を足した値にし、すべてを合計します。チェックディジットは、その合計を次の10の倍数にするのに足りない数(すでに倍数なら0)です。
チェックディジットが正しければ登録済みの車両ですか?
いいえ。12桁が計算上整合していることを示すだけです。番号が割り当てられたか、保有者が誰か、形式コードが正しいかまでは分かりません。
スペースやハイフン、ピリオド入りでも使えますか?
はい。車体表記でよく使うスペース、ハイフン、ピリオドは確認の前に取り除きます。英字やそれ以外の記号は受け付けないので、紛れ込んだ文字が見過ごされることはありません。
12桁の番号全体を確認するには?
検証を選んで12桁すべてを入力します。最初の11桁からチェックディジットを計算し直し、12桁目と比べます。218124712173なら最後の3が一致します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/uic-wagon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"21812471217"}'const res = await fetch("https://api.kit.forhosting.com/enc/uic-wagon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "21812471217"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/uic-wagon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "21812471217"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/uic-wagon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"21812471217"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"21812471217"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/uic-wagon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": "21812471217"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.uic_wagon",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は11桁のペイロードからそのチェックディジットを計算するか、完全な12桁番号を検証し、保存された末尾桁が再計算値と一致するかを報告します。一般的な印刷レイアウトで使われる空白・ハイフン・ドットは演算前に除去され、文字などの非数字は明確な invalid_input エラーで拒否されます。ブラウザで無料実行するか、公開価格で KIT API を呼び出してください。
UICチェックディジットの計算方法
そのペイロード位置を左からインデックス0で番号付けし、インデックスが偶数の桁には重み2、奇数には重み1を掛け、9を超える積は十進各桁の和で折りたたみます(関連する mod-10 方式と同じ Luhn 風の折りたたみです)。アルゴリズムは固定重みの純整数演算なので、同じペイロードはブラウザ、Worker、オフライン試験ハーネスのいずれでも常に同じチェックディジットを生み、そのため本機能はモデル呼び出しではなく tier A の parse エンジンとして提供されます。
チェックディジットの計算と完全番号の検証
空白・ハイフン・ドットは任意で除去され、グループ表示と末尾ハイフン+チェックディジットの一般的なレイアウトをフォームが受け付けられます。mode validate は除去後にちょうど12桁を期待します。空文字、number 欠落、無効な mode、誤った長さ(例:10桁や13桁)は重み付き合計の前に失敗し、課金されません。新しい一連ブロックを発行・完成するときは compute を、スキャナ・CSV・キーパー変更フォームから完全番号を受け取り、資産保存前に真偽ゲートが必要なときは validate を優先してください。ペイロードまたは完全車両の桁を含む number フィールドを送ってください。文字などの記号は invalid_input の非数値入力として拒否され、黙って整形された誤値が通ることはありません。mode compute が既定で、除去後にちょうど11桁のペイロードを渡すと、エンジンは1文字の check_digit、11桁+チェックの vehicle_number、length 12 を返します。末尾桁が再計算した expected_check_digit と一致すると valid true となり、常に payload(先頭11桁)、送信どおりの check_digit、expected_check_digit、payload と期待桁から成る正規 vehicle_number を含みます。この形ならフリートUIで「入力は X、期待は Y」を再要求なしに示せます。経路は時計・乱数・ネットワークのない純 parse なので、無料ブラウザと API で同じ入力は常に同じ JSON になります。成功リクエストあたり $0.002 で、大量フリート取込み、RIV 交換ファイル、パートナー EDI 監査を、個別ティア交渉なしに守れます。
UICチェックディジットが活きる鉄道業務
結合試験とデータ品質ジョブはエクスポートの各車両列で expected_check_digit を再計算し、国内外の台帳に届く前に不一致を隔離します。11桁ペイロードからステンシルを組むラベルプリンタは、車両ごとに compute を1回呼び、マーキング図の下に vehicle_number を置きます。
連携の活用例
銘板・塗装用の11桁ペイロードを完成させる
種別・国・一連の11桁を取り、compute モードを呼び、パートナーが受け入れる UIC チェックディジット付きの vehicle_number を車両に印刷します。
入口で読取・手入力の貨車番号を検証する
ハンディスキャナやフォームが12桁を送ったら validate モードを呼び、valid が false のときフリートやヤード更新を止め、打ち間違い修正用に expected_check_digit を表示します。
技術的な質問
この API で UIC チェックディジットを計算するには?
ちょうど11桁の number(空白・ハイフン・ドットは任意)と mode compute(または mode 省略)で POST します。応答に check_digit と vehicle_number(完全12桁)が含まれます。
完全な12桁車両番号を検証するには?
12桁の文字列と mode validate で POST します。応答に valid、check_digit、expected_check_digit、payload、正規の vehicle_number が含まれます。
文字・誤った長さ・不正セパレータはどうなりますか?
空白・ハイフン・ドットは除去され、残る非数字や compute で11桁以外・validate で12桁以外は invalid_input で拒否されます。失敗した検証タスクは課金されません。
UIC貨車番号チェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。API 呼び出しは公開の基本価格 $0.002 の前払い KIT 残高を使い、無効入力は課金されません。