非ASCII文字を削除
CaféはCafe、StraßeはStrasse、São PauloはSao Pauloになり、絵文字や漢字、通貨記号、“ ”のような引用符は削除されます。古いシステムやCSVの書き出し、厳しいメールサーバー向けのきれいな文字列が作れます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello, café 🎉!
- 結果
- Hello, cafe !
- 長さ
- 13
- 元の長さ
- 15
- 削除数
- 1
レガシーシステム、シリアルプロトコル、CSV 出力、気難しいメール中継は、絵文字・スマート引用符・アクセント付き文字が 7 ビット ASCII として扱う欄に混入すると、今でも壊れます。この非 ASCII 文字削除ツールは、空でない任意の文字列を受け取り、ラテン系アクセントを無印の基底へ畳み、残った ASCII 範囲外の文字をすべて削除して、きれいな 7 ビットテキストにします。絵文字・CJK・通貨記号・組版記号は消え、café は cafe になり、すでに無印の ASCII はそのまま返ります。
非ASCII削除が内部で行うこと
非 ASCII の除去は短い決定的パイプラインであり、ロケール推測でも機械学習による書き換えでもありません。まずエンジンは Unicode 正規化形式 D を適用し、基底文字と結合ダイアクリティカルを分けます。é は e と結合アキュート、ñ は n と結合チルダ、ü は u と結合ダイエレシスになります。
次に、よく使う結合記号の範囲をすべて削除し、西欧・中欧および声調付きベトナム語ラテンの多くの基底を残します。第三に、固定の翻字表が、NFD を経ても ASCII にならない文字を書き換えます。
ø・æ・ð・þ などの北欧・アイスランド形、ドイツ語のシャープ s、フランス語・ラテンの合字 œ、ł や đ などのポーランド・スラヴのストローク文字、マルタ語や角付きベトナム語の一部基底です。大小両方がある場合は大文字を保ち、Æ は AE、ß は ss になります。
第四に、一度の走査で U+0000 から U+007F までの符号点だけを残し、絵文字・CJK・キリル・アラビア・通貨記号・鉤括弧・エムダッシュ・残った記号は捨てます。ASCII の文字・数字・句読点・空白・タブ・改行は元の順のままです。アルゴリズムは、畳み込み後に削除した非 ASCII 符号点の数と、文字列が変わったかどうかを報告します。
空文字列は変換の前に検証で失敗します。経路は文字列に対する純粋な parse なので、典型的なフォームでは遅延はミリ秒未満に収まり、公開されているコストモデルはモデルトークンではなく分析的です。
実務でこのツールが使われる場面
運用チームは、チャットやメールから絵文字・スマート引用符・通貨記号を拾ったコンソールダンプ、チケット断片、ベンダーのファイル名を貼り付け、メインフレーム・POS 端末・7 ビット SMTP 中継が受け入れる欄を必要とします。
CRM 輸出や倉庫ロードを掃除するデータ技術者は、柔らかいキーで結合したり、Latin-1 や 7 ビット前提のツールへファイルを書いたりする前に、自由記述列を ASCII へ強制することがよくあります。
CMS 編集者と発行担当は、画面上は問題なく見えても組版ダッシュや CJK 残りを運び、古い RSS 購読者やファイル名規則を壊す貼り付けタイトルを清掃します。プロダクトと成長のチームは、下流ベンダーが 0x00–0x7F の外を拒否するとき表示名を ASCII 代替へ畳みつつ、José は Jose になり Js にはならないことを望みます。
このページはテキストからアクセントを除く検索と同じではありません。そちらは絵文字と CJK を残し、ダイアクリティカルだけを畳みます。印字可能な Unicode を残して C0/C1 だけを消す制御文字削除でもありません。
あとでハイフン付き URL スラッグ、大小変換、非ラテン文字の音声ローマ字化が必要なら、別ランディングとして扱ってください。文書化された長さ上限の範囲で要求し、テストで result 文字列を固定すれば、独自の符号化ライブラリを立てずに再現可能な ASCII が得られます。
活用例
7ビットレガシー向けに欄を浄化する
アクセントを畳み、絵文字・CJK・組版記号を除き、メインフレーム・POS・SMTP が値を無印 ASCII として受け入れるようにします。
CSV・ログ・倉庫列を掃除する
結合・ファイル受け渡し・Latin-1 や 7 ビット前提のツールの前に、自由記述列を ASCII へ強制します。
よくある質問
非ASCII文字の削除は何をしますか?
ラテン系アクセントを無印の文字へ畳み、その後 U+0000–U+007F の外に残った文字(絵文字・CJK・通貨記号・組版記号)をすべて削除し、きれいな 7 ビット ASCII にします。
アクセント除去と何が違いますか?
アクセント除去は絵文字・CJK・未対応の文字体系を残し、ダイアクリティカルだけを簡単化します。このツールは残った非 ASCII も削除し、レガシーが ASCII だけを受け取るようにします。
絵文字・CJK・スマート引用符はどうなりますか?
アクセント畳み込みのあと削除されます。Hello, café 🎉 のような文字列は Hello, cafe になります(絵文字は消え、残った空白は畳まれません)。
空のテキストを送るとどうなりますか?
空文字列は拒否されるため、欠けた欄に気づかず静かな空結果を受け取ることはありません。
削除したあとに余分なスペースは残りますか?
はい、残ります。記号や絵文字を消しても前後のスペースはまとめられないため、「Hello, café 🎉!」は「Hello, cafe !」になります。大文字と小文字もそのままです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/remove-non-ascii \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Café 🎉 — São Paulo"}'const res = await fetch("https://api.kit.forhosting.com/str/remove-non-ascii", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Café 🎉 — São Paulo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/remove-non-ascii",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Café 🎉 — São Paulo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/remove-non-ascii", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Café 🎉 — São Paulo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Café 🎉 — São Paulo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/remove-non-ascii", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Café 🎉 — São Paulo"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.remove_non_ascii",
"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 で拒否されます。成功した API 呼び出しは 1 件あたり $0.002 で、検証失敗は課金されません。
非ASCII削除が内部で行うこと
ロケール引数も乱数抽出も時計もなく、同じ入力は常に同じ JSON になります。文書化された文字上限を超える極端に長いペイロードも invalid_input となり、1 件の要求が Worker メモリを独占しません。
送信する内容と返ってくる結果
典型確認では Café が Cafe、naïve が naive、São Paulo が Sao Paulo、Straße が Strasse になり、Hello, café 🎉 のような文字列は絵文字が消えて Hello, cafe になります。すでに無印の ASCII である ABC-123 は変わらず、changed は false、removed は 0 で、ETL ガードの無操作検出に使えます。エンジンは削除した記号のあとに残る空白を畳まず、大文字小文字も変えず、キリルや CJK にラテン綴りをでっち上げません。それらの文字体系は単に削除されます。このページの意図はレガシー向け 7 ビット ASCII であり、完全な翻字器ではありません。ASCII に整えたい空でない文字列を、必須フィールド text に 1 つだけ送ってください。古いクライアントや表計算の列をつなぐ都合で、input・value・data・s・message・string・content・body といった別名も受け付けます。数値と真偽値は十進または true/false の文字列へ強制され、オブジェクト・配列・NaN・Infinity は invalid_input で拒否されます。成功時の応答は、元の text、ASCII のみの result、結果の length、original_length、アクセント畳み込み後に捨てた残存非 ASCII 符号点の removed、真偽の changed、および remove_non_ascii に設定された operation を返します。貼り付けとコピーには無料のブラウザフォームを使い、ログ行・CSV 列・API ペイロードを浄化するときはスクリプトから同じ契約を呼び出してください。成功した API 呼び出しの料金は公開ベースの $0.002 であり、空の text を含む検証失敗は前払い残高を消費しません。
実務でこのツールが使われる場面
この能力は純粋な parse エンジンなので、API 料金は成功 1 件あたり公開ベースの $0.002 であり、失敗した検証は残高を消費しません。
連携の活用例
決定的フィクスチャと CMS 貼り付け衛生
ゴールデンテスト、ファイル名、チャットから貼った見出しについて、ブラウザと API で同じ ASCII 結果を得ます。
技術的な質問
料金はいくらですか。
ブラウザツールは無料で、お使いの端末で動きます。API 要求は成功 1 件あたり $0.002 の KIT 前払い残高を使い、不正な入力は課金されません。