اضغط أي ملف بصيغة gzip
صغّر نصًا بصيغة gzip وشاهد مقدار ما وفّرته: في المثال ينخفض سطر يكرر كلمة hola ثماني مرات من 39 إلى 28 بايت. وعند فك الضغط تستعيد النص الأصلي تمامًا دون فقدان شيء. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص بعد فك الضغط
- hola hola hola hola hola hola hola hola
- الحجم الأصلي (بايت)
- 39
- حجم GZIP (بايت)
- 28
أداة تضغط ملفًا إلى صيغة gzip أو تفك ضغط ملف gzip موجود، مباشرة من متصفحك دون تثبيت أدوات سطر أوامر.
ماذا تفعل gzip بنصك
تبحث gzip عن المقاطع المتكررة في النص وتستبدل كل تكرار بإشارة قصيرة إلى المقطع الأول، فكلما زاد تكرار النص صغر حجمه أكثر. ولا يضيع شيء: عند فك الضغط يعود كل حرف كما كان، ولهذا يُعتمد عليها في السجلات والملفات المصدّرة والنسخ الاحتياطية. كما تقرؤها معظم الأدوات منذ تسعينيات القرن الماضي، فتُفتح النتيجة في أي مكان تقريبًا. في المثال تشغل ثماني نسخ من hola مقدار 39 بايت ثم 28 فقط بعد الضغط.
متى تضغط والأخطاء الشائعة
من الاستخدامات المعتادة الأرشفة: ضغط السجلات قبل نقلها إلى تخزين طويل الأمد يخفض تكلفة حفظها دون تشغيل الضغط على خادم التطبيق نفسه. وتصل النتيجة نصًا بصيغة base64 يسهل حفظه ولصقه. وهناك خطآن شائعان: الأول توقع توفير كبير من نص قصير، لأن الترويسة التي تضيفها gzip قد تلتهم معظم التوفير. والثاني محاولة فك ضغط شيء ليس نتيجة gzip بصيغة base64، فيُرفض بدل أن يعطي نتيجة بلا معنى.
الضغط وفك الضغط في أداة واحدة
ترفع ملفًا عاديًا فتحصل على نسخته المضغوطة بصيغة gzip، أو ترفع ملفًا بهذه الصيغة فتحصل على محتواه الأصلي بلا ضغط. الضغط بلا فقدان بيانات في الحالتين: كل بايت يعود كما كان تمامًا بعد فك الضغط، وهذا شرط أساسي لملفات السجلات والبيانات التي لا تحتمل أي تغيير في المحتوى الفعلي مهما صغر حجمها بعد المعالجة أو كبر حجمها الأصلي قبلها بكثير.
الاستخدام من الصفحة مباشرة
ارفع الملف، اختر ضغطًا أو فك ضغط، ونزّل النتيجة فورًا دون أي إعداد إضافي أو أمر يُكتب يدويًا. المعالجة كاملة داخل متصفحك، فلا يغادر الملف جهازك، ولا حدّ لعدد المرات ولا حاجة لأي تسجيل، وتعمل من الحاسوب أو الجوال، مناسبة لاختبار سريع أو ملف واحد عرضي أثناء تصحيح خطأ في بيئة الاختبار المحلية دون تركيب أي أداة جديدة على الجهاز المستخدم في العمل.
حالات الاستخدام
أرشيف سجلات خادم أسبوعي
يفتح مطوّر في شركة الخليج الرقمية أرشيف سجلات خادم أسبوعيًا بصيغة gzip لتحليل أخطاء محددة دون تثبيت أداة سطر أوامر على جهاز الاختبار.
نسخة احتياطية لملف تصدير
تضغط مؤسسة النخيل للمقاولات ملف تصدير بيانات مشاريعها إلى gzip قبل أرشفته شهريًا لتوفير مساحة التخزين على خادمها.
الأسئلة الشائعة
هل تدعم الأداة الضغط وفك الضغط معًا؟
نعم، ترفع ملفًا عاديًا فيُضغَط، أو ملف gzip فيُفَك ضغطه، من نفس الصفحة.
هل يدعم صيغة ZIP أيضًا؟
لا، هذه الأداة مخصصة لصيغة gzip فقط؛ لأرشيف ZIP توجد أداتا ضغط وفك ضغط منفصلتان.
هل يفقد الملف أي بيانات أثناء الضغط؟
لا، الضغط بلا فقدان بيانات؛ كل بايت يعود كما كان تمامًا بعد فك الضغط.
ما الحد الأقصى لحجم الملف؟
25 ميغابايت في الطلب الواحد، وهو كافٍ لمعظم ملفات السجلات والبيانات المتداولة.
ما شكل النتيجة بعد الضغط؟
تصل النتيجة سطرًا من الحروف والأرقام وبعض الرموز يُعرف باسم base64، فيمكن لصقها في رسالة أو نموذج أو ملف إعدادات دون أن تتلف. وترى بجانبها الحجم قبل الضغط وبعده بالبايت.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/data/gzip \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hola mundo"}'const res = await fetch("https://api.kit.forhosting.com/data/gzip", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hola mundo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/gzip",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hola mundo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/gzip", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hola mundo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hola mundo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/gzip", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "hola mundo"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.gzip",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تفيد مطورين يتعاملون مع سجلات خادم، استجابات API، أو ملفات مضغوطة بهذه الصيغة يوميًا ضمن عملهم المعتاد على أي جهاز.
لماذا gzip بالذات
من يعمل مع هذه الملفات يحتاج غالبًا فتحها أو إعادة ضغطها بسرعة دون تثبيت أداة سطر أوامر على جهاز قد لا يملك صلاحية التثبيت عليه، خصوصًا حين يكون العمل من جهاز مؤقت أو بيئة اختبار سريعة. صيغة gzip هي المعيار الفعلي لضغط الملفات النصية في عالم الخوادم والـAPI: سجلات الخادم تُؤرشف بها، واستجابات كثير من واجهات API تصل مضغوطة بهذه الصيغة تحديدًا لتوفير النطاق الترددي.
الأتمتة عبر الـAPI
لمن يعالج ملفات gzip ضمن مسار عمل آلي — استلام سجلات يومية، أو معالجة استجابات API مؤرشفة — تتوفر الأداة عبر الـAPI: يُرسل الملف وتعود النتيجة مضغوطة أو مفكوكة الضغط حسب الاتجاه المطلوب. السعر $0.002 للطلب الواحد حتى 25 MB، فيُعالَج كل ملف تلقائيًا دون تدخل يدوي في كل مرة يصل فيها ملف جديد إلى الخط الآلي بلا استثناء واحد.
حالات التكامل
استجابة API مضغوطة
يفك خالد العتيبي ضغط استجابة API وصلته بصيغة gzip ليقرأ محتواها الخام أثناء تصحيح تكامل بين نظامين مختلفين.
أسئلة تقنية
هل الاستخدام من المتصفح مجاني؟
نعم بلا حدّ وبلا تسجيل؛ المدفوع فقط عبر الـAPI بسعر $0.002 للطلب الواحد.
هل يُرسل ملفي لأي خادم عند الاستخدام من الصفحة؟
لا، تجري المعالجة بالكامل داخل متصفحك؛ فقط عبر الـAPI ينتقل الملف لأن المعالجة تتم من طرفنا حينها.