حاسبة الوقت

تساعدك أداة حساب الوقت و حساب ساعات العمل على حساب الساعات و حساب عدد الساعات بدقة. استخدم احسب ساعات العمل لتنظيم جدولك، أو استعمل برنامج حساب الوقت لـ حساب عدد الساعات والدقائق بكل سهولة. تتيح لك حاسبة الوقت أيضاً ميزات متقدمة مثل عد تنازلي، الحاسبة العلمية، و حساب الوقت بالدقائق. جميع العمليات تتم محلياً في متصفحك لضمان السرية التامة.

star 4.9
auto_awesome AI
New

حساب الوقت calculator

Method:
0 characters 0 bytes
0 characters

lightbulb Tips

  • •Use encodeURIComponent for query values
  • •Spaces → %20 (standard) or + (form data)
  • •A-Z a-z 0-9 - _ . ~ are never encoded
  • •Always encode user input before URLs

How to Use the حساب الوقت

swap_horiz

اختر الوضع

حدد وضع حاسبة الوقت للبدء في حساب ساعات العمل أو حساب الساعات بسهولة.

tune

اختر الطريقة

حدد الطريقة المناسبة لـ حساب الوقت، سواء كنت ترغب في استخدام حاسبة الوقت، عد تنازلي، أو الحاسبة العلمية.

text_fields

أدخل البيانات

اكتب نصك أو الصقه (للتشفير) أو الرابط المشفر (فك التشفير).

content_copy

الحصول على النتيجة

تظهر النتيجة فوراً. انقر على نسخ للنسخ إلى الحافظة.

The Formula

يستبدل تشفير الروابط (التشفير النسبة المئوية) الأحرف غير الآمنة أو المحجوزة بعلامة النسبة المئوية (%) يتبعها رقمان ستة عشريان يمثلان قيمة بايت الحرف. على سبيل المثال، تصبح المسافة %20، ويصبح '&' %26. تستخدم أحرف UTF-8 بايتات متعددة مشفرة بالنسبة المئوية (مثل '€' → %E2%82%AC). لا يتم تشفير الأحرف غير المحجوزة (الأحرف، الأرقام، -، _، .، ~) أبداً.

URL Encoding = replace unsafe characters → %HH (hex byte value)

lightbulb Variables Explained

  • %HH علامة النسبة المئوية يتبعها رقمان ستة عشريان يمثلان قيمة البايت
  • Unreserved chars A-Z a-z 0-9 - _ . ~ (لا يتم تشفيرها أبداً)
  • Reserved chars : / ? # [ ] @ ! $ & ' ( ) * + , ; = (مشفرة في المكونات)
  • UTF-8 الأحرف متعددة البايتات المشفرة كسلسلة متتابعة من %HH

tips_and_updates Pro Tips

1

استخدم حساب ساعات العمل لتقدير الوقت المستغرق في المهام المنجزة خلال A-Z a-z 0-9 - _ . ~

2

استخدم حساب الوقت لتنظيم جدولك اليومي وتتبع الأوقات بدقة عبر :, /, ?, #, &, =

3

يمكن حساب الوقت بالطريقة القياسية كـ %20 أو باستخدام نموذج بيانات application/x-www-form-urlencoded

4

احرص دائماً على حساب ساعات العمل بدقة لضمان دقة السجلات وإنتاجية أفضل

5

تتيح لك حاسبة الوقت التعامل مع الرموز التعبيرية والمتغيرات المتعددة مثل 😀 أو %F0%9F%98%80

6

يتم حساب عدد الساعات بدقة تامة إذا قمت بتتبع الوقت الصحيح منذ البداية

7

يوفر برنامج حساب الوقت معايير دقيقة لـ حساب الوقت و حساب الساعات (A-Z a-z 0-9 - _ . ~)

تقوم حاسبة الوقت وبرنامج حساب الوقت المجاني الخاص بنا بتحويل النص إلى تنسيق مشفر بالنسبة المئوية والعكس فوراً. قم بتشفير معاملات الاستعلام، وأجزاء المسار، والأحرف الخاصة للاستخدام الآمن للرابط. قم بفك تشفير السلاسل المشفرة بالنسبة المئوية إلى نص مقروء. يدعم UTF-8 وجميع أحرف يونيكود.

مشفر الروابط - النص إلى التشفير النسبة المئوية

قم بتحويل أي نص إلى تشفير رابط آمن فوراً. يتعامل برنامجنا مع المسافات، والأحرف الخاصة، ويونيكود، والرموز التعبيرية.

اختر بين:

  • تشفير المكون (لقيم الاستعلام)
  • تشفير URI (للحفاظ على هيكل الرابط)
  • تشفير بيانات النموذج (+ للمسافات)

فاهي الروابط - التشفير النسبة المئوية إلى نص

قم بفك تشفير أي رابط مشفر إلى نص مقروء. الصق الروابط المشفرة، أو سلاسل الاستعلام، أو المعاملات الفردية وشاهد النص الأصلي فوراً.

يتعامل مع:

  • تسلسلات %HH
  • المسافة كعلامة زائد
  • أحرف UTF-8 متعددة البايتات

كيف يعمل تشفير الروابط (التشفير النسبة المئوية)؟

يعمل تشفير الروابط عن طريق استبدال أي حرف غير آمن أو محجوز في الرابط بعلامة نسبة مئوية يتبعها رقمان ستة عشريان يمثلان قيمة بايت هذا الحرف، وهو مخطط محدد رسمياً في RFC 3986 بواسطة IETF.

تصبح المسافة %20، وعلامة العطف %26، والشرطة المائلة %2F. يتم تحويل أحرف غير ASCII أولاً إلى تسلسل بايت UTF-8 الخاص بها، ثم يتم تشفير كل بايت بالنسبة المئوية، لذلك يصبح الحرف 'é' %C3%A9.

وفقاً لمستندات ويب MDN، تطبق المتصفحات هذا تلقائياً من خلال وظائف مثل encodeURIComponent. يتم ترك الأحرف غير المحجوزة فقط (A-Z، a-z، 0-9، الشرطة، الشرطة السفلى، النقطة، التلدا) دون مساس.

ما الفرق بين encodeURI و encodeURIComponent؟

يقوم encodeURI بتشفير رابط كامل مع الحفاظ على الأحرف الهيكلية المحجوزة، بينما يقوم encodeURIComponent بتشفير مكون واحد وإلغاء هذه الأحرف الهيكلية أيضاً.

كما هو موثق بواسطة مستندات ويب MDN، يترك encodeURI الرموز :, /, ?, #, &, و = سليمة حتى يظل العنوان بالكامل يعمل، مما يجعله مناسباً للروابط الكاملة. يلغي encodeURIComponent كل شيء باستثناء مجموعة RFC 3986 غير المحجوزة، لذا فهو الخيار الصحيح لقيم معاملات الاستعلام، أو أجزاء المسار، أو نص الجزء الذي قد يحتوي على أحرف محجوزة.

يعد استخدام encodeURI حيث يلزم encodeURIComponent خطأً شائعاً: سيتم إساءة قراءة علامة & غير المشفرة داخل القيمة كفاصل معاملات، مما يؤدي إلى إفساد الطلب بصمت.

ما هي الأحرف المحجوزة مقابل غير المحجوزة في الرابط؟

يقسّم RFC 3986 أحرف الروابط إلى مجموعات غير محجوزة ومحجوزة، ويحدد هذا التمييز ما يتم تشفيره بالنسبة المئوية.

  • الأحرف غير المحجوزة هي الحروف A-Z و a-z، والأرقام 0-9، والعلامات الأربع: الشرطة، والشرطة السفلى، والنقطة، والتلدا؛ وهذه لا تتطلب تشفيراً أبداً.
  • الأحرف المحجوزة تشمل المحددات العامة : / ? # [ ] @ والمحددات الفرعية ! $ & ' ( ) * + , ; = التي تحمل معنى نحوياً.

حسب مواصفات IETF، قد تظهر الأحرف المحجوزة غير مشفرة عندما تؤدي دور المحدد الخاص بها ولكن يجب تشفيرها بالنسبة المئوية عند استخدامها حرفياً داخل مكون. كل شيء خارج كلا المجموعتين، بما في ذلك المسافات ويونيكود، يجب تشفيره دائماً.

لماذا تستخدم الروابط (URLs) النسبة المئوية %20 للفضاوات؟

تستخدم الروابط (URLs) الرمز %20 للمسافات لأن حرف المسافة غير مسموح بظهوره حرفياً في معرفات (URI) بموجب المعيار RFC 3986، لذا يتم ترميزه بالنسبة المئوية إلى قيمة بايت ASCII المقابلة، وهي القيمة السداسية عشرية 20.

وهناك اصطلاح ثانٍ: في بيانات application/x-www-form-urlencoded، وهو التنسيق الذي تستخدمه عمليات إرسال نماذج HTML والعديد من سلاسل الاستعلام، يتم ترميز المسافة كـ علامة زائد (+) بدلاً من %20، وفقاً لما يحدده معيار URL الصادر عن منظمة WHATWG ومواصفات نماذج W3C.

لهذا السبب يجب أن تعرف برامج فك الترميز سياقها. يُعد الرمز %20 آمناً عالمياً في المسار والاستعلام والجزء (fragment)، بينما تعني علامة + مسافة فقط داخل بيانات الاستعلام المشفرة للنماذج وتكون علامة زائد حرفية في أي مكان آخر.

كيف تتعامل عملية ترميز الروابط مع يونيكود (Unicode) والرموز التعبيرية (Emojis)؟

تتعامل عملية ترميز الروابط مع نظام يونيكود عن طريق تحويل كل حرف أولاً إلى تسلسل بايتات UTF-8 الخاص به ثم ترميز كل بايت فردي بنسبة مئوية. يحدد اتحاد يونيكود نقاط الرمز، ويقوم نظام UTF-8 (المحدد في المعيار RFC 3629) بتعيينها إلى بايت واحد إلى أربعة بايتات.

على سبيل المثال:

  • حرف ASCII المكون من بايت واحد مثل 'A' يظل كما هو 'A'
  • يتم ترميز 'é' إلى %C3%A9
  • يصبح حرف لغة CJK '日' كالتالي %E6%97%A5
  • الرمز التعبيري مثل 😀 يتم ترميزه إلى أربعة بايتات، %F0%9F%98%80

تُشير وثائق MDN لويب إلى أن دالة encodeURIComponent في جافاسكريبت تعمل بنظام UTF-8 افتراضياً. وتعكس أدوات فك الترميز هذه العملية عن طريق جمع البايتات المشفرة بنسبة مئوية وإعادة تفسيرها كتدفق UTF-8 لاستعادة النص الأصلي.

ما هو الترميز المزدوج وكيف تتجنبه؟

يحدث الترميز المزدوج عندما يتم ترميز سلسلة مشفرة بالفعل بنسبة مئوية مرة أخرى، مما يتحول فيه كل رمز % إلى %25 بحيث يصبح %20 كالتالي %2520 ولم يعد من الممكن قراءة القيمة بشكل صحيح.

يُعد هذا مصدراً متكرراً للروابط المعطلة، ووفقاً لمنظمة OWASP، يمثل مشكلة أمنية لأن المهاجمين يستخدمون الترميز المزدوج لتمرير مدخلات ضارة متجاوزين المرشحات التي تقوم بفك الترميز مرة واحدة فقط.

لتجنب ذلك، قم بترموِز القيمة مرة واحدة تماماً عند النقطة التي تدخل فيها إلى الرابط، ولا تقم أبداً بإعادة ترميز البيانات التي جاءت من مصدر مشفر آخر. إذا لم تكن متأكدًا مما إذا كانت السلسلة مشفرة بالفعل، فقم بفك ترميزها أولاً؛ وإذا تغير الناتج وبدو مقروءاً، فقد تم ترميزها مسبقاً، ويجب ألا تقوم بترموِزها مرة أخرى.

هل ترميز الروابط آمن؟ الفرق بين الترميز والتشفير

ترميز الروابط ليس آمناً ولا يوفر أي سرية؛ إنه تحويل قابل للعكس لسلامة النقل، وليس تشفيراً. يمكن لأي شخص فك ترميز السلسلة المشفرة بالنسبة المئوية على الفور، لذلك تظل البيانات الحساسة الموضحة في الرابط مقروءة بالكامل، وكما تحذر منظمة OWASP، فإنها تتعرض أيضاً في سجل المتصفح وسجلات الخادم ورؤوس الإحالة (Referer headers).

يضمن الترميز فقط عدم كسر الأحرف الخاصة لبنية الرابط. التشفير، بالمقارنة، يستخدم مفتاحاً وخوارزميات مثل AES (المعيارية من NIST) لجعل البيانات غير مقروءة بدون هذا المفتاح.

الاستخدام الأمني الصحيح للترميز هو دمج الهروب السليم للناتج لمنع هجمات الحقن؛ ولا تعامله أبداً كطريقة لإخفاء المعلومات أو حمايتها.

كيف تقوم بترموِز سلاسل الاستعلام ومعلمات الروابط بشكل صحيح؟

لكي تقوم بترموِز سلسلة الاستعلام بشكل صحيح، قم بتطبيق encodeURIComponent على كل مفتاح معلمة وقيمة على حدة قبل ربطهما بـ & و =، بدلاً من ترميز السلسلة المجمعة بأكملها مرة واحدة.

وهذا يضمن هروب الأحرف المحجوزة داخل القيمة، مثل & أو = في مدخلات المستخدم، إلى %26 و %3D حتى لا يُخطئ في اعتبارها محددات، وذلك باتباع قواعد application/x-www-form-urlencoded الموصوفة في معيار URL الصادر عن WHATWG. على سبيل المثال، يجب أن تصبح القيمة 'hello world&x=1' كالتالي 'hello%20world%26x%3D1'.

وفقاً لوثائق MDN لويب، فإن واجهة برمجة التطبيقات URLSearchParams تؤتمت هذه العملية بأمان. قم دائماً بترموِز البيانات المقدمة من المستخدم قبل إدخالها في سلسلة الاستعلام لمنع حقن المعلمات والطلبات التالفة.

الأخطاء الشائعة عند ترميز وفك ترميز الروابط

أكثر خطأ شائع في ترميز الروابط هو اختيار الدالة الخاطئة: استخدام encodeURI على قيمة استعلام يترك الأحرف & و = و ? بدون هروب، مما يسمح لمدخلات المستخدم بإفساد بنية الرابط.

تشمل الأخطاء المتكررة الأخرى، التي حذرت منها OWASP ووثائق MDN لويب، ما يلي:

  • ترميز القيمة مرتين بحيث يتحول %20 إلى %2520
  • نسيان أن علامة + تعني مسافة فقط في البيانات المشفرة للنماذج
  • ترميز الرابط بأكمله بعد إنشائه بدلاً من ترميز كل مكون مسبقاً

يتعامل المطورون أيضاً بشكل سيء مع UTF-8 من خلال فك ترميز البايتات كنظام Latin-1، مما ينتج عنه نصوص مشوهة (mojibake) للنصوص المعربة وغيرها من النصوص غير اللاتينية. وأخيراً، لا تعتمد أبداً على الترميز للأمان؛ فإن الفشل في الهروب من الناتج للسياق المستهدف يترك ثغرات الحقن مفتوحة على الرغم من صحة الترميز بالنسبة المئوية.

Frequently Asked Questions

sell

Tags