محول النص إلى ثنائي
تصبح كلمة Hi هي 01001000 01101001: يُكتب كل بايت من نصك بثمانية أصفار وآحاد، مجموعة لكل بايت، بينما تأخذ الحروف العربية والرموز التعبيرية من مجموعتين إلى أربع في UTF-8. الصق المجموعات الثنائية لاستعادة النص. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hi
- وضع الحساب
- Encode
- النتيجة
- 01001000 01101001
- الإدخال
- Hi
- الثنائي
- 01001000 01101001
- المجموعات
- 01001000, 01101001
يحوّل محول النص إلى ثنائي الحروف العادية إلى أنماط الثماني بتات التي تخزّنها الحواسيب، ويعكس مسار الثنائي إلى نص ذلك التعيين لاستعادة السلسلة الأصلية. أدخلوا نص UTF-8 بسيطًا واختاروا encode لتلقّي مجموعات من ثماني أصفار وآحاد مفصولة بمسافات—مجموعة لكل بايت—أو الصقوا مجموعات ثنائية واختاروا decode لإعادة بناء النص.
كيف يصبح النص ثنائيًا بـ 8-bit ولماذا يهم طول المجموعة
لا تخزّن الحواسيب الحروف كأشكال؛ بل تخزّن متتاليات بايتات، وكل بايت ثماني بتات. لأحرف الإنجليزية في النطاق اللاتيني الأساسي غالبًا ما يقابل حرف واحد بايتًا واحدًا قيمته العشرية هي رمز ASCII الكلاسيكي—فمثلًا H الكبيرة تساوي اثنين وسبعين، وهي صفر-واحد-صفر-صفر-واحد-صفر-صفر-صفر بالثنائي. النص الحديث UTF-8، لذا قد تحتاج الحروف المعلّمة والرموز التعبيرية والخطوط غير اللاتينية إلى بايتين أو ثلاثة أو أربعة، وبالتالي مجموعتين أو ثلاث أو أربع مجموعات بثماني بتات.
يسير الترميز على تسلسل بايتات UTF-8 من اليسار إلى اليمين ويكتب كل بايت ثماني أرقام مع البت الأهم أولًا، رابطًا المجموعات بمسافة واحدة ليُعدّ الناس الثُمانيات بنظرة. يفعل الفك العكس: يقسم الإدخال إلى مجموعات مرشّحة، ويشترط أن تطابق كل مجموعة ثماني محارف من صفر أو واحد بالضبط، ويحوّل كل مجموعة إلى قيمة بايت بين صفر ومئتين وخمسة وخمسين، ثم يفسّر مصفوفة البايتات كـ UTF-8. إن حوت مجموعة سبع بتات أو تسعًا أو محرفًا غير ثنائي، يجب أن يفشل المحول.
يُسمح بالثنائي المتصل بلا مسافات فقط عندما يكون الطول الكلي مضاعفًا لثمانية، لأن كل شريحة من ثماني أرقام متتالية تظل ثُمانيًا.
نصائح عملية وحدود وأدوات ذات صلة
فضّلوا decode حين تملكون بالفعل سلاسل بتات من كتاب دراسي أو تفريغ حزم وتريدون الحروف. فحوصات الذهاب والإياب أسرع اختبار دخان: رمّزوا كلمة قصيرة مثل Hi، وتأكدوا أن المجموعتين تطابقان بايتات ASCII المعروفة لـ H وi، ثم فكّوا تلك المجموعات وتأكدوا من استعادة السلسلة الأصلية. أبقوا الحمولات دون حد المحارف المنشور؛ التفريغات متعددة الميغابايت تخص العمل دون اتصال.
فضّلوا هذه القدرة حين تكون نية البحث حروف نص مقابل مجموعات ثنائية بثماني بتات؛ استخدموا منسّق hex إلى ثنائي حين يكون الإدخال أرقامًا سداسية عشرية أصلًا، وعارض بتات عائمة حين تحتاجون حقول الإشارة والأسّ والجزء الكسري. عند التدريس، اعرضوا نفس الرمز التعبيري أو الحرف المعلّم بجانب حرف ASCII بسيط ليرى الطلاب ثُمانيات UTF-8 متعددة البايت كمجموعات 8-bit إضافية لا كرمز غامض واحد.
حالات الاستخدام
مراجعة الواجبات لأنماط بتات ASCII وUTF-8
يُرمّز الطلاب عبارات قصيرة ويقارنون مجموعات ثماني بتات مكتوبة يدويًا بالنتيجة الحتمية ويفكّون ثنائيًا يقدّمه المدرّس دون جدول بيانات.
عروض تعليمية للبروتوكولات والشبكات
تُظهر الورش كيف تصبح التسميات القابلة للطباعة ثُمانيات على السلك، ثم تفرض مجموعات بتات ناقصة لتوضيح قواعد التأطير الصارمة.
الأسئلة الشائعة
ماذا يُخرج محول النص إلى ثنائي؟
في وضع encode يُرجع مجموعات ثماني بتات مفصولة بمسافات (واحدة لكل بايت UTF-8)، مع مصفوفات groups وقيم بايت صحيحة. في وضع decode يُرجع نص UTF-8 المستعاد.
هل يدعم UTF-8 والرموز التعبيرية؟
نعم. يستخدم الترميز UTF-8، فتصبح المحارف متعددة البايت عدة مجموعات بثماني بتات. يرفض الفك تسلسلات البايت التي ليست UTF-8 صالحًا.
هل يمكن لصق ثنائي بلا مسافات؟
نعم، إذا كانت السلسلة المتصلة أصفارًا وآحادًا فقط وطولها مضاعف لثمانية.
لماذا لا يُفك النص الثنائي الذي أدخلته؟
يجب أن تتكون كل مجموعة من ثمانية أرقام بالضبط، كل منها 0 أو 1. فالمجموعة ذات السبعة أو التسعة بتات، أو أي حرف آخر، توقف العملية برسالة واضحة بدل الحشو أو القص، ولا يعمل الثنائي بلا مسافات إلا إذا كان طوله من مضاعفات الثمانية.
كيف يُكتب الحرف H بالنظام الثنائي؟
قيمة الحرف الكبير H هي 72، ويُكتب 01001000 والبت الأعلى قيمة على اليسار. أما الحرف الصغير i فيُكتب 01101001. لذلك تصبح كلمة Hi المجموعتين 01001000 01101001.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/binary-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/binary-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/binary-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/binary-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/binary-text", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hi"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.binary_text",
"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 واضحًا بدل اختراع حشو. المسار حساب حتمي بحت على بايتات UTF-8—بلا شبكة ولا بذور عشوائية ولا اعتماد على ساعة الجدار—لذا يُرجع المشغّل المجاني في المتصفح وواجهة API المدفوعة مسبقًا نفس JSON في كل استدعاء.
كيف يصبح النص ثنائيًا بـ 8-bit ولماذا يهم طول المجموعة
الحشو الصامت بالأصفار أو القطع يغيّر الحمولة ويخفي أخطاء ورقة العمل. تستهدف هذه الصفحة من يبحث عن محول نص إلى ثنائي أو أداة ثنائي إلى نص أو مشفّر ASCII وUTF-8 بثماني بتات على الإنترنت؛ وليست عارض بتات فاصلة عائمة IEEE ولا مخطّط أرقام سداسية عشرية إلى ثنائي.
كيف تستدعون الـ API وما تحتويه الاستجابة
الوضع الافتراضي encode: تصبح بايتات UTF-8 لحقل text مجموعات ثنائية بثماني بتات مفصولة بمسافات. يعامل mode decode النص كمجموعات ثنائية—ثُمانيات مفصولة بمسافات أو سلسلة متصلة من أصفار وآحاد طولها مضاعف لثمانية—ويرجع سلسلة UTF-8 المستعادة. عند نجاح decode تتضمن mode وinput وresult وtext بسلسلة UTF-8 المفكوكة، وbinary موحّدًا إلى مجموعات مفصولة بمسافات، ونفس مصفوفات groups وbytes، والعدادات، ورسالة مطابقة. أرسلوا جسم JSON بحقل نصي إلزامي text (والأسماء البديلة input وvalue وdata) ووضع mode اختياري encode أو decode. يُحدّ طول الإدخال بمئة ألف محرف حتى لا يستنزف طلب واحد ذاكرة Worker بسلاسل ضخمة. عند نجاح encode تتضمن الاستجابة mode وinput وresult وbinary بنفس سلسلة البتات المفصولة بمسافات، وgroups كمصفوفة سلاسل من ثمانية محارف، وbytes كقيم البايت الصحيحة، وbyte_count وbit_count، ورسالة قصيرة. فشل التحقق—text مفقود، text غير نصي، إدخال أكبر من الحد، mode مجهول، مجموعة بتات ليست ثماني أرقام، محارف غير ثنائية داخل مجموعة، أو بايتات مفكوكة ليست UTF-8 صالحًا—يرجع invalid_input ولا يُحتسب أبدًا. التسعير ثابت $0.002 لكل طلب ناجح بوحدة item وسعر وحدوي هامشي صفر.
نصائح عملية وحدود وأدوات ذات صلة
أرسلوا عمدًا مقطعًا بسبع بتات أو سلسلة ثنائية متصلة ليس طولها مضاعفًا لثمانية لتأكيد أن عميلكم يعالج invalid_input ورسالة الخطأ التي تنص على أن كل مجموعة يجب أن تكون ثماني أرقام. هذه الأداة ليست محولًا سداسيًا عشريًا—أرقام السداسي عشري أساسها ستة عشر لا اثنان—وليست فاحص بتات فاصلة عائمة IEEE-754. المهام الفاشلة التي ترجع invalid_input لا تستهلك الرصيد المدفوع مسبقًا، فيبقى استكشاف النصوص رخيصًا حين يلصق المتعلمون مجموعات بتات ناقصة.
حالات التكامل
fixtures لاختبارات الوحدة للمشفّرات والمحلّلات
ولّدوا سلاسل ثنائية معروفة من نص fixture وأكّدوا أن decode يستعيد نفس بايتات UTF-8 في CI دون مساعدات تعبئة بتات مرتجلة.
أسئلة تقنية
لماذا يجب أن تكون كل مجموعة بتات ثماني أرقام؟
البايت ثماني بتات. المجموعات بطول آخر ستكون غامضة بلا قواعد حشو، لذا تُرجع المجموعات الناقصة أو الزائدة invalid_input.
هل محول النص إلى ثنائي مجاني؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل طلب ناجح؛ والمهام الفاشلة لا تُحسب أبدًا.