إزالة أحرف التحكم
احذف محارف التحكم غير المرئية المختبئة في النص الملصوق: تصبح Hello مع بايت فارغ ثم World مع محرف الجرس وعلامة تعجب هي HelloWorld!، بعد حذف محرفين. وتبقى المسافات وعلامات الجدولة وفواصل الأسطر. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello World!
- النص
- HelloWorld!
- الأصلي
- Hello World!
- الطول
- 11
- المحذوف
- 2
تأخذ أداة إزالة أحرف التحكم أي سلسلة نصية غير فارغة وتعيد المحتوى نفسه بعد حذف أحرف التحكم غير القابلة للطباعة. تبقى المسافات العادية وعلامات الجدولة وأسفار الأسطر في مواضعها حتى تبقى بنية الفقرات والتباعد المقروء بعد التنظيف. المحرك حتمي بالكامل: تمريرة حذف ثابتة لنطاقات Unicode واحدة، بلا استدعاءات شبكة، وبلا عشوائية، وبلا اعتماد على الساعة. تحتفظ الحروف والأرقام وعلامات الترقيم ورموز Unicode القابلة للطباعة بترتيبها النسبي؛ ولا تختفي إلا عناصر التحكم C0 غير المرئية (باستثناء الجدولة وLF وCR) وحرف DEL وعناصر التحكم C1.
ماذا تعني إزالة أحرف التحكم وما الذي تحتويه الاستجابة
تعني إزالة أحرف التحكم في هذه القدرة حذف نقاط الترميز التي لا تُطبع وكثيرًا ما تكسر المحللات والسجلات وقواعد البيانات ومسارات النسخ واللصق. يزيل المحرك كتلة التحكم C0 باستثناء عناصر التحكم الثلاثة للمسافات البيضاء التي يُفضَّل الإبقاء عليها غالبًا: الجدولة الأفقية (U+0009) وسطر جديد (U+000A) وإرجاع العربة (U+000D). ويزيل كذلك DEL (U+007F) وكتلة التحكم C1 بأكملها (من U+0080 إلى U+009F).
لا تُحذف المسافة العادية (U+0020) أبدًا. تصبح Hello متبوعة ببايت صفري ثم World هي HelloWorld؛ وتحتفظ ملاحظة بسطرين مع حرف جرس بين الكلمات بسطرها الجديد وتفقد الجرس فقط. لا يوجد خيار لحذف المسافات أيضًا، ولا وضع يطوي تتابعات المسافات البيضاء، ولا إكراه صامت لـ null إلى نجاح فارغ.
أين تناسب تنقية أحرف التحكم في نظافة البيانات والنشر والبرمجيات
يقابل الطلاب تنظيف أحرف التحكم عندما يستورد مختبر برمجة عينات CSV أو سجلات تحتوي بايتات صفرية أو تغذية نماذج أو تسلسلات هروب متبقية من تفريغ طرفية. يستطيع المعلمون توليد مفاتيح إجابات مسبقًا تُظهر الشكل النظيف المتوقع دون الاعتماد على وحدات ماكرو مكتبية مبهمة تعيد كتابة نهايات الأسطر بشكل مختلف على كل جهاز. يستخدم مهندسو البيانات العقد نفسه لتعقيم الحقول قبل تحميل المستودعات أو فهارس البحث أو طوابير الرسائل التي ترفض NUL مضمنًا أو تقطعه بصمت.
تلصق فرق الدعم والتشغيل أجزاء تذاكر متعددة الأسطر صاخبة من لوحات تسلسلية أو تصدير SCADA أو تنزيلات حواسيب رئيسية قديمة وتحتاج نصًا مقروءًا بلا رموز غير مرئية تكسر أنظمة التذاكر. ينظف محررو CMS والناشرون محتوى ملصوقًا يبدو سليمًا على الشاشة لكنه يحمل بايتات C1 من ترميزات قديمة، فيمنعون تغذية مكسورة وترتيبًا غريبًا. اقرنها بأدوات إزالة المسافات أو إزالة التشكيل أو تنقية HTML عند بناء مختبر صغير لمساعدات نصية مجانية وحتمية للنماذج وإعداد CMS ونظافة البيانات.
حالات الاستخدام
تنظيف استيراد ملوث بالثنائي
أزل البايتات الصفرية والجرس وغيره من عناصر التحكم C0/C1 من CSV أو السجلات أو التصدير المنسوخ من أنظمة ثنائية أو قديمة مع الإبقاء على المسافات وأسفار الأسطر المقروءة.
تجهيزات خط أنابيب حتمية
ولّد سلاسل قابلة للتكرار بلا تحكم لاختبارات الوحدة وملفات الذهب وتأكيدات CI حول منطق الاستيعاب والتعقيم.
نظافة اللصق في التذاكر وCMS
احذف رموز التحكم غير المرئية من تفريغات الطرفية ولصق المحررات القديمة حتى تقبل أنظمة التذاكر والبحث والمحتوى النص بنظافة.
الأسئلة الشائعة
أي الأحرف تُزال؟
عناصر التحكم C0 باستثناء الجدولة وسطر جديد وإرجاع العربة؛ وDEL (U+007F)؛ وعناصر التحكم C1 (U+0080–U+009F). تُحفظ المسافات والنص القابل للطباعة.
هل تُحفظ المسافات وأسفار الأسطر؟
نعم. لا تُحذف المسافة العادية ولا الجدولة ولا LF ولا CR أبدًا. تُزال فقط أحرف التحكم غير القابلة للطباعة خارج تلك المجموعة.
ماذا يحدث إذا كان حقل text فارغًا؟
يجب تقديم سلسلة غير فارغة؛ ولا تصبح حقول النموذج الفارغة نجاحات صامتة.
هل النتيجة نفسها في كل مرة؟
نعم. التحويل حذف أحرف نقي وحتمي بلا شبكة ولا عشوائية ولا اعتماد على الساعة، لذا الإدخال المتطابق ينتج دائمًا المخرج المتطابق.
لماذا أحذف محارف لا تظهر على الشاشة أصلًا؟
لأنها تعطّل الأنظمة رغم أنها غير مرئية. فقد يجعل البايت الفارغ داخل النص قاعدةَ بيانات أو فهرس بحث أو طابور رسائل يرفض القيمة أو يقطعها، كما تفسد بقايا الترميزات القديمة خلاصات المحتوى والفرز.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر 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"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تُرفض الإدخالات الفارغة بخطأ واضح invalid_input حتى لا يصبح حقل نموذج فارغ نجاحًا فارغًا صامتًا. استخدمها مجانًا في المتصفح عند لصق تصديرات صاخبة من أنظمة قديمة أو سجلات تسلسلية أو ملفات ملوثة بالثنائي، أو استدعِ واجهة API بسعر $0.002 لكل طلب ناجح عندما تحتاج تنظيفًا قابلًا للتكرار في CI أو خطوط ETL أو عروض تعليمية.
ماذا تعني إزالة أحرف التحكم وما الذي تحتويه الاستجابة
الاستجابة صغيرة ومستقرة عمدًا: text يحمل النتيجة المنظفة التي ستنسخها أو تخزنها، وoriginal يعيد الإدخال تمامًا للتدقيق، وlength يبلغ بعدد أحرف النتيجة، وremoved يعد كم من أحرف التحكم اختفت (طول الأصل ناقص طول النتيجة)، وmethod هو الوسم الثابت remove_control_chars للسجلات وخطوط الأدوات المتعددة. يبني المحرك سلسلة منظفة كاملة ضمن الطول المدعوم أو يرفض الطلب بـ invalid_input. تشمل الحالات المرفوضة حقل text مفقودًا، وقيمة null، وسلسلة فارغة، وكائنات ومصفوفات ليست نصًا خامًا، وأي حمولة أطول من الحد الأقصى الموثق لعدد الأحرف. إذا احتجت حذفًا كاملًا للمسافات البيضاء أو إزالة تشكيل أو تنقية HTML أو تصغير JSON فاستخدم تلك الأدوات المخصصة؛ تجيب هذه الصفحة فقط عن تنظيف التحكم غير القابل للطباعة بمخرج مستقر يناسب أوراق العمل واختبارات الوحدة ومستخدمي API الذين لا يجوز لهم اختراع قواعد فئات التحكم.
كيف يُقرأ حقل text وكيف تبقى النتيجة قابلة للتكرار
يجب أن تكون القيمة سلسلة غير فارغة؛ تُحوَّل الأعداد المنتهية وbigint أولًا إلى سلسلة، فيُعالج رمز منتج مكتوب كعدد بنظافة بعد التحويل إلى أرقام عشرية. يستخدم التحويل استبدال تعبير نمطي واحد يطابق فقط نطاقات التحكم الموثقة — بلا جداول محلية، وبلا نموذج تعلم آلي، وبلا استثناءات تعتمد على التاريخ. ولأن الخوارزمية نقية وتحافظ على ترتيب كل حرف غير مطابق، يتلقى نظامان يستدعيان بنفس الإدخال دائمًا text وlength وremoved نفسها، مما يجعل اختبارات الذهب وفروق الدعم موثوقة. الحقل المفضّل هو text، لكن تُقبل الأسماء البديلة input وstring وvalue وcontent وs حتى تعيد سلاسل الاستعلام وجداول البيانات والنماذج المُنمَّطة استخدام العقد نفسه دون إعادة تسمية الأعمدة. تُرفض القيم المنطقية والكائنات البسيطة والمصفوفات برسالة واضحة حتى لا يصبح جسم JSON خاطئ الكلمة true أو تفريغ كائن عديم الفائدة. السلسلة الفارغة دائمًا invalid_input: وعد المنتج هو تحويل النص لا اختراع نجاح فارغ من حقل مفقود. يُحدَّ الطول بمائة ألف حرف حتى لا يحتكر لصق جامح عامل Worker؛ تفشل الحمولات الأطول برسالة حد صريحة بدل قص صامت. اقرن التشغيل المجاني في المتصفح على هذه الصفحة بواجهة API المدفوعة عندما تحتاج السلسلة المنظفة نفسها داخل خط أنابيب آلي دون شحن مساعدات إزالة التحكم الخاصة بك.
أين تناسب تنقية أحرف التحكم في نظافة البيانات والنشر والبرمجيات
يستدعي المطورون API من سكربتات لتطبيع إدخال المستخدم قبل اختبارات المساواة، أو لزرع تجهيزات حتمية للمحللات، أو لاستيفاء فحوصات امتثال تمنع رموز تحكم خارج الجدولة والسطر الجديد. على هذه الصفحة يعمل كل شيء في متصفحك؛ وعبر API تكلف كل تحويل ناجح $0.002، ولا تُحاسب التحقق الفاشل، ولا يُخزَّن شيء بعد إعادة الاستجابة. هذا التقسيم — استكشاف تفاعلي مجاني وAPI مدفوعة مطابقة — يوافق بقية كتالوج KIT من المستوى A ويتيح الانتقال من عرض صف إلى خط أنابيب آلي دون تغيير نتيجة السلسلة.
أسئلة تقنية
كم تكلف أداة إزالة أحرف التحكم؟
هي مجانية في متصفحك على هذه الصفحة. عبر API يكلف الطلب الناجح $0.002؛ ولا تُحاسب الإدخالات غير الصالحة.