پرش به محتوای اصلی

مقایسه متن رایگان

دو بلوک متن را مقایسه کنید و دقیقاً ببینید چه چیزی تغییر کرده است. تفاوت خط به خط با خطوط اضافه‌شده، حذف‌شده و تغییرنیافته.

پس از بارگذاری آفلاین کار می‌کند
زمینه:
+3 اضافه شد−2 حذف شد2 بدون تغییر
تفاوت‌ها
+The quick brown fox leaps over the lazy dog.
−The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
−How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.

کاربردهای رایج

  • قطعات کد را مقایسه کنیددقیقاً پیدا کنید که بین دو نسخه از قطعه کد ، پیکربندی یا اسکریپت چه تغییری رخ داده است.
  • پیش نویس های اسناد را مقایسه کنیدتمام تغییرات بین دو پیش نویس از یک سند ، قرارداد یا مقاله را پیدا کنید — خط به خط.
  • داده ها و فایل های CSV را مقایسه کنیدتفاوت های بین دو نسخه از داده های صادر شده ، CSV ، log ها یا پیکربندی را پیدا کنید.
  • مقایسه نسخه‌های ترجمهببینید چه تغییری بین دو نسخه‌ی سند ترجمه‌شده، فایل زیرنویس یا رشته‌ی محلی‌سازی رخ‌داده‌ است.
  • ردگیری تغییرات در بازنگری محتوامقایسه نسخه‌های اصلی و ویرایش‌شده‌ی مقاله، پست وبلاگ یا متن بازاریابی برای بررسی آنچه تغییر کرده‌ است.

نحوه کار

Text Diff از یک الگوریتم طولانی‌ترین-زیردنباله-مشترک (LCS) دست‌نویس مستقیماً در این ابزار پیاده‌سازی‌شده استفاده می‌کند — کتابخانه diff خارجی‌ای نیست. همه‌چیز در مرورگر اجرا می‌شود؛ متن شما هرگز به سروری ارسال نمی‌شود.

  1. 1
    متن به خطوط تقسیم می‌شود
    محتوای هر textarea بر کاراکترهای خط‌جدید به یک آرایه از خطوط تقسیم می‌شود. نرمال‌سازی اختیاری (کوچک‌کردن، جمع‌کردن فضای خالی) پیش از مقایسه روی یک کپی از آن آرایه‌ها اعمال می‌شود، درحالی‌که اصلی‌ها برای نمایش نگه داشته می‌شوند.
  2. 2
    جدول LCS در یک Uint32Array محاسبه شد
    یک جدول برنامه‌نویسی-پویا از‌پایین-به‌بالا در یک Uint32Array تایپ‌شده ساخته می‌شود — O(m×n) هم در زمان هم در حافظه. برای ورودی‌هایی که تعداد سلول ترکیبی‌شان از ۴ میلیون (حدود ۱۶ مگابایت) فراتر رود، الگوریتم به‌طور خودکار به یک diff بلوک زبرتر بازمی‌گردد پس صفحه پاسخگو باقی می‌ماند.
  3. 3
    برجستگی سطح-کلمه روی خطوط تغییریافته
    وقتی یک خط حذف‌شده بلافاصله با یک خط درج‌شده دنبال می‌شود، یک پاس LCS دوم روی کلمات توکنایزشده آن جفت (بر فاصله تقسیم‌شده) اجرا می‌شود. این بخش‌های برجسته درون‌خطی تولید می‌کند که دقیقاً کدام کلمات درون خط تغییر کردند نشان می‌دهد، نه فقط کدام خطوط.
  4. 4
    نمای diff یکپارچه با جمع‌شدن زمینه
    لیست عملیات به‌عنوان یک diff یکپارچه با پیشوندهای +/− و کدگذاری رنگی رندر می‌شود. خطوط تغییرنیافته خارج از پنجره زمینه قابل‌پیکربندی (پیش‌فرض: ۳ خط) پشت یک بیضی جمع می‌شوند. نتیجه کامل می‌تواند در کلیپ‌بورد کپی شود یا به‌عنوان فایل متن-ساده .txt دانلود شود.

ابزارهای مرتبط

سؤالات متداول