Code 128のペイロードとチェックサムを作成
ラベルの値がCode 128のセットBに収まるかを確かめ、プリンターに必要なシンボル値を出します。KIT-128は開始値104から始まり、チェックサムは77です。使えない文字は位置とともに指摘します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- KIT-128
- ペイロード
- KIT-128
- コードセット
- B
- 開始シンボルの値
- 104
- チェックシンボルの値
- 77
ラベルソフト、プリンター連携、テスト、原因調査に利用でき、非対応文字は曖昧に置換せず正確な入力エラーとして通知します。
入力できる文字列を正確に確認できます
Code 128は任意のUnicode文字列をそのまま画像にする方式ではなく、複数のコンパクトなシンボル体系から成ります。このツールでは、英字、数字、記号、空白を含む一般的な識別子に適したコードセットBを明示的に使用します。対応範囲は、空白のU+0020からチルダのU+007Eまでの印字可能なASCIIです。
英語の大文字と小文字、10進数字、一般的な句読記号が含まれます。タブ、改行、制御コード、アクセント付き文字、絵文字、そのほかの範囲外文字は受け付けません。文字を黙って置換または削除すると識別子が変わり、誤ったレコードにラベルを結び付ける危険があるためです。
検証に失敗した場合は、ゼロ起点の位置とUnicodeコードポイントを示すため、修正対象を特定できます。空文字列もエラーになり、最大長によって処理量を制限します。制御文字、FNCシンボル、コードセットAまたはCが必要な場合は、それらを明示的に扱う別のエンコーダーをご利用ください。
シンボル値とチェックサムの計算方法です
コードセットBでは、対応文字のASCIIコードから32を引いてデータシンボル値を求めます。空白は0、数字の0は16、大文字Aは33、チルダは94です。チェックサムは104から始め、各データ値に1から始まる位置を掛けて加算します。
最初の値の重みは1、2番目は2となり、以後も同様です。中間値も返すため、計算の各項を独立して監査できます。整数演算だけを用いるので、同じ入力からは常に同じ結果が得られます。
ラベル処理へ安全に組み込めます
この結果は、Code 128のシンボル値をバー、プリンター命令、またはテスト条件へ変換できるソフトウェア向けです。停止パターンは構造要素でチェックサム計算に参加しないため、数値配列には含めません。自動処理ではプリンターへ命令を送る前に検証し、応答を生成物とともに保管してください。
テストでは値の順序とチェックサムの両方を比較します。ネットワーク、保存、乱数、現在時刻に依存しないため、環境が変わっても結果は安定します。
活用例
プリンター命令の準備
倉庫識別子を検証し、機種固有のバーコード命令を組み立てる前にコードセットBの正確な値を取得します。
拒否された識別子の調査
制御文字、アクセント付き文字、その他の非対応コードポイントをラベル工程へ送る前に特定します。
よくある質問
どの文字に対応していますか?
空白(U+0020)からチルダ(U+007E)までの印字可能なASCII、つまりこのツールで扱うCode 128コードセットBの文字です。
Code 128のチェックサムはどう計算しますか?
セットBの開始値104から始め、各データシンボルに1から数えた位置を掛けて足していきます。合計を103で割った余りがチェックサムで、KIT-128なら77になります。
チェックサムはテキストの末尾に付け足すのですか?
いいえ。チェックサムは、バーコードを描くソフトがデータのあと、終了パターンの前に置くシンボル値です。元のテキストに書き足す数字ではなく、テキストは入力したまま変わりません。
アクセント付きの文字や改行が入っているとどうなりますか?
0から数えた文字の位置とUnicodeのコードポイントを示して、受け付けません。何も削除や置き換えはしません。識別子が変わると、ラベルを別の記録に付けてしまうおそれがあるためです。
空白がシンボル値0になるのはなぜですか?
セットBでは、各文字のASCIIコードから32を引いた数がシンボル値になるためです。空白は0、数字の0は16、大文字のAは33、チルダは94になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/barcode-code128-payload \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"KIT-128"}'const res = await fetch("https://api.kit.forhosting.com/enc/barcode-code128-payload", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "KIT-128"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/barcode-code128-payload",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "KIT-128"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/barcode-code128-payload", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"KIT-128"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"KIT-128"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/barcode-code128-payload", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "KIT-128"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.barcode_code128_payload",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 4096 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
このCode 128ペイロード生成ツールは、描画前に文字列を検証し、対応する各文字をコードセットBのシンボル値へ変換して、必須のmodulo 103チェックサムを計算します。結果には元のペイロード、開始シンボル、順序どおりのデータシンボル、チェックサム値が含まれます。
シンボル値とチェックサムの計算方法です
data_symbol_values配列はこの順序を保ち、開始シンボルとチェックサムを含まないため、利用者データと構造要素を明確に区別できます。start_symbol_valueはコードセットBの標準開始値104です。合計を103で割った余りがchecksum_symbol_valueとして返されます。これはレンダラーがデータの後、停止パターンの前に配置するシンボル値であり、元の文字列へ追加する10進数ではありません。
ラベル処理へ安全に組み込めます
レンダラーは開始シンボル、data_symbol_valuesの各値、checksum_symbol_value、必須の停止パターンという順番で出力できます。payloadは変更せず返すため、計算結果を正確な入力元と関連付けられます。このツールはSVGやPNGを描画せず、寸法の選択、クワイエットゾーンの追加、印刷物の読み取り品質の検査も行いません。これらはレンダリングと印刷品質管理の役割です。ブラウザーで即時確認でき、APIで自動化する場合は1回$0.002です。
連携の活用例
回帰テストデータの作成
監査可能なシンボル配列とチェックサムを生成し、独立したCode 128レンダラーを決定的な値と比較します。
技術的な質問
チェックサムの数字を文字列へ追加しますか?
追加しません。レンダラー用のCode 128シンボル値であり、元のペイロードへ付け加える文字列ではありません。
バーコード画像も生成しますか?
生成しません。検証済みペイロードとシンボル値を返します。バー、余白、寸法、画像形式はレンダラーが処理します。
絵文字や改行を含む場合はどうなりますか?
invalid_inputで失敗し、最初の非対応文字をゼロ起点の位置とUnicodeコードポイントで示します。
APIの利用料金はいくらですか?
APIは1回$0.002です。同じ決定的な計算をブラウザーでは無料で実行できます。