制御文字を削除
貼り付けたテキストに隠れた、目に見えない制御文字を削除します。Hello、ヌル文字、World、ベル文字、感嘆符はHelloWorld!になり、2文字が消えます。空白、タブ、改行は残ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello World!
- テキスト
- HelloWorld!
- 元の値
- Hello World!
- 長さ
- 11
- 削除数
- 2
この制御文字削除ツールは、空でない任意の文字列を受け取り、非印字の制御文字だけを取り除いた同じ内容を返します。通常のスペース、タブ、改行はそのまま残るため、段落構造と読みやすい余白はクリーンアップ後も維持されます。エンジンは完全に決定的です。固定の Unicode 範囲削除を一度だけ行い、ネットワーク呼び出しも乱数も時計依存もありません。文字・数字・句読点・印字可能な Unicode 記号は相対順序を保ち、消えるのは不可視の C0 制御(タブ・LF・CR を除く)、DEL、および C1 制御だけです。
制御文字とは何か
制御文字は、画面に何も表示しない特殊なコードです。目には見えませんが、データの読み取りやログ、データベース、コピーと貼り付けの作業をたびたび乱します。このツールは、ほとんどの場合に残したいタブ、改行、復帰の3つを除き、最初の制御文字のまとまりをすべて削除します。さらに削除文字と、古い文字コードから入り込む2つ目の制御文字のまとまりも取り除きます。普通の空白は決して消えず、文字、数字、句読点、表示できる記号は順番もそのままです。例では、Hello、ヌル文字、World、ベル文字、感嘆符がHelloWorld!になり、2文字が消えて11文字になります。
どこから入り込み、いつ消すべきか
目に見えないコードは、シリアルコンソールの出力、産業用の制御システムの書き出し、古い大型コンピュータからのダウンロード、古いエディタを通った文章などから入り込みます。画面では普通に見えても、チケットシステムが受け付けなかったり、検索がうまく動かなかったり、データベースが途中のヌル文字で値を切ってしまったりします。読み込み、索引作成、公開の前に一度きれいにしておきましょう。このツールはタブや改行、アクセント、HTMLには手を付けないので、それらも整えたいときは別の手順と組み合わせてください。
制御文字の削除が意味することと応答の内容
この機能における制御文字の削除とは、印字されず、パーサー・ログ・データベース・コピー&ペーストの流れをしばしば壊す符号点を消すことです。エンジンは、ほぼ常に残したい 3 つの空白系制御、すなわち水平タブ (U+0009)、改行 (U+000A)、復帰 (U+000D) を除く C0 制御ブロックを取り除きます。
さらに DEL (U+007F) と C1 制御ブロック全体 (U+0080 から U+009F) も取り除きます。通常のスペース (U+0020) は決して削除されません。NULL バイトを挟んだ Hello と World は HelloWorld になり、語の間にベル文字がある 2 行のメモは改行を保ったままベルだけを失います。
応答は意図的に小さく安定しています。スペースまで同時に削るオプションも、空白の連続を畳むモードも、null を空成功に黙って変換する処理もありません。
データ衛生・出版・ソフトウェアにおける制御文字清掃の位置づけ
学生は、プログラミング実験で NULL バイトやフォームフィード、端末ダンプ由来のエスケープ列を含む CSV やログ試料を取り込むときに制御文字の清掃に出会います。教員は、端末ごとに行末を別様に書き換える不透明なオフィスマクロに頼らず、期待される清浄化形を示す解答キーを事前生成できます。
サポートと運用のチームは、シリアルコンソール、SCADA エクスポート、レガシーメインフレームのダウンロードから来たノイズの多い複数行チケット断片を貼り付け、チケットシステムを壊す不可視コードのない読みやすいテキストを必要とします。
CMS 編集者と出版担当は、画面上は問題なく見えても古い符号化由来の C1 バイトを運ぶ貼り付け内容を清掃し、壊れたフィードや奇妙な並び替えを防ぎます。フォーム・CMS 準備・データ衛生向けの無料で決定的なテキスト補助ツールの小さな実験室を作るときは、空白削除・アクセント除去・HTML サニタイズと組み合わせてください。
活用例
バイナリ混入インポートの清掃
バイナリやレガシーシステムからコピーした CSV・ログ・エクスポートから NULL・ベルなどの C0/C1 制御を取り除き、読みやすいスペースと改行は残します。
チケットと CMS の貼り付け衛生
コンソールダンプや古いエディタの貼り付けから不可視の制御コードを除き、チケット・検索・コンテンツ系がテキストをきれいに受け入れるようにします。
よくある質問
どの文字が削除されますか?
タブ・改行・復帰を除く C0 制御、DEL (U+007F)、C1 制御 (U+0080–U+009F) です。スペースと印字可能なテキストは残ります。
スペースと改行は保持されますか?
はい。 通常のスペース、タブ、LF、CR は決して削除されません。その集合の外の非印字制御だけが取り除かれます。
text 欄が空の場合はどうなりますか?
空でない文字列が必要で、空白のフォーム欄が静かな成功になることはありません。
結果は毎回同じですか?
はい。 変換はネットワーク・乱数・時計依存のない純粋で決定的な文字削除なので、同一入力は常に同一出力になります。
画面に見えない文字をわざわざ消すのはなぜですか?
見えなくてもシステムを壊すからです。途中にヌル文字があると、データベースや検索索引、メッセージの待ち行列が値を拒否したり途中で切ったりします。古い文字コードの名残も配信や並べ替えを乱します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/remove-control-chars \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello\u0000World\u0007 — line two"}'const res = await fetch("https://api.kit.forhosting.com/str/remove-control-chars", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello\u0000World\u0007 — line two"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/remove-control-chars",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello\u0000World\u0007 — line two"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/remove-control-chars", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello\\u0000World\\u0007 — line two"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello\u0000World\u0007 — line two"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/remove-control-chars", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello\u0000World\u0007 — line two"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.remove_control_chars",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 100000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空入力は明確な invalid_input で拒否されるため、空白のフォーム欄が静かに空成功になることはありません。レガシーシステムやシリアルログ、バイナリ混入ファイルからのノイズの多いエクスポートを貼り付けるときはブラウザで無料で使い、CI・ETL パイプライン・教材デモで再現可能な清掃が必要なときは成功リクエストあたり $0.002 の API を呼び出してください。
制御文字の削除が意味することと応答の内容
text はコピーや保存用の清浄化結果、original は監査用に入力をそのまま返し、length は結果の文字数、removed は消えた制御文字の数(元の長さから結果の長さを引いた値)、method はログや複数ツール連携向けの固定タグ remove_control_chars です。エンジンはサポート長の範囲で完全な清浄化文字列を組み立てるか、invalid_input で拒否します。拒否される例には、text 欄の欠落、null、空文字列、プレーンテキストでないオブジェクトや配列、文書化された最大文字数を超えるペイロードがあります。空白の完全削除、アクセント除去、HTML サニタイズ、JSON 圧縮が必要な場合は専用ツールを使い、このページは非印字制御の清掃と、ワークシート・単体テスト・制御クラス規則を勝手に作ってはならない API 利用者向けの安定出力だけに答えます。
text 欄の読み方と結果の再現性
値は空でない文字列である必要があり、有限の数値と bigint は先に文字列化されるので、数値として入力した製品コードも十進数字への変換後にきれいに処理されます。製品の約束はテキスト変換であり、欠けた欄から空白成功を捏造することではありません。変換は文書化された制御範囲だけに一致する単一の正規表現置換を使い、ロケール表も機械学習モデルも日付依存の例外もありません。優先フィールドは text ですが、エイリアス input・string・value・content・s も受け付けるため、クエリ文字列・表計算・型付きフォームは列名を変えずに同じ契約を再利用できます。真偽値・プレーンオブジェクト・配列は明確なメッセージで拒否され、誤った JSON 本体が true という語や役に立たないオブジェクトダンプになることはありません。空文字列は常に invalid_input です。長さは十万文字に制限され、暴走した貼り付けが Worker を独占しないようにし、それより長いペイロードは静かな切り捨てではなく明示的な上限メッセージで失敗します。このページの無料ブラウザ実行と有料 API を組み合わせれば、独自の制御除去ヘルパーを配布せずに自動パイプライン内で同一の清浄化文字列が得られます。
データ衛生・出版・ソフトウェアにおける制御文字清掃の位置づけ
データ技術者は、埋め込み NUL を拒否したり黙って切り詰めたりするウェアハウス・検索インデックス・メッセージキューに載せる前に、同じ契約でフィールドをサニタイズします。開発者は、等価性テスト前のユーザー入力正規化、パーサー用の決定的フィクスチャの種まき、タブと改行以外の制御コードを禁じるコンプライアンス検査のためにスクリプトから API を呼び出します。このページでは作業はすべてブラウザ内で行われ、API では成功した変換ごとに $0.002 がかかり、失敗した検証は課金されず、応答後に何も保存されません。無料の対話的探索と有料で同一の API という分割は KIT のティア A カタログの他項目と一致し、教室デモから自動パイプラインへ、文字列結果を変えずに移れます。
連携の活用例
決定的なパイプライン用フィクスチャ
取り込みとサニタイズ論理向けの単体テスト・ゴールデンファイル・CI アサーション用に、制御なしで再現可能な文字列を生成します。
技術的な質問
制御文字削除ツールの料金はいくらですか?
このページのブラウザでは無料です。API では成功したリクエストが $0.002 で、無効な入力は課金されません。