Comma-Separated Values (.csv)

RFC استاندارد

Comma-Separated Values (CSV) is a ubiquitous plain-text format for tabular data, where each line represents a data record and fields are separated by delimiter characters.

تبدیل XLSX به CSV

مبدل رایگان XLSX به CSV درون مرورگر. فایل‌ها را فورا روی دستگاه خود تبدیل کنید.

فشرده‌سازی آنلاین CSV

فشرده‌سازی ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های CSV را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا کشیدن فایل‌ها

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های CSV را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 0):

Plain Text

نمایش ASCII: ASCII / UTF-8

استانداردسازی: RFC 4180 / IETF

مشخصات فنی

معماری کانتینرDelimited flat text file representing tabular data rows and columns
فشرده‌سازیGzip / Deflate achieves 85%-95% compression on repetitive tabular records
ترتیب بایت‌ها (Endianness)UTF-8 text stream (optional UTF-8 BOM EF BB BF used by Excel)
فضاهای رنگیNot applicable
کانال‌ها و ساختارRow records delimited by CRLF with columns delimited by commas
حداکثر ابعادUnbounded; streamable to gigabytes without loading entire file in memory
شفافیت مشخصاتNot applicable
استریمینگ و پیش‌روندهNative line-by-line stream processing supported by all data pipelines

ماتریس مقایسه فنی: CSV در برابر رقبا

ویژگی فنیCSV (فعلی)Excel (XLSX)ParquetJSON
File TypePlain text flat tableZipped XML spreadsheetBinary columnar storageHierarchical text
Multiple SheetsNo (single flat table only)Yes (multiple workbooks and sheets)Partition-based storageNested arrays and objects
Data TypesUntyped raw textTyped cells, formulas, formattingStrict binary column typesPrimitive types (string, number, bool)
Big Data AnalyticsSlow (requires reading every row linearly)Not suitable for big dataUltra-fast (column pruning & predicate pushdown)Moderate

حالت‌های رایج خرابی و راهنمای بازیابی هگز

⚠️ Columns shift to the right or row counts do not match.

علت ریشه‌ای: A text field containing an unescaped comma without surrounding quotation marks.

بازیابی: RFC 4180 requires fields containing commas to be wrapped in double quotes: "Smith, John".

⚠️ Accented characters render as strange symbols (mojibake like é instead of é) in Excel.

علت ریشه‌ای: Excel opened a UTF-8 CSV assuming the legacy Windows ANSI/CP1252 character encoding.

بازیابی: Prepend the 3-byte UTF-8 Byte Order Mark (0xEF 0xBB 0xBF) to the beginning of the file.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

CSV files open directly in spreadsheet software like Excel and Google Sheets, exposing users to Formula Injection (CSV Injection) attacks.

بردارهای حمله شناخته‌شده

  • Formula Injection: Cells starting with '=', '+', '-', or '@' executing spreadsheet macros or DDE commands (e.g. '=cmd|' /C calc'!A0').
  • Data exfiltration via HYPERLINK() formulas sending sensitive cell data to remote attacker servers upon click.

بهترین روش‌های پدافندی: When exporting user data to CSV, prepend a single quote (') or tab to any cell starting with '=', '+', '-', or '@' to force plain text rendering in Excel.

تاریخچه و نقاط عطف

2005IETF publishes RFC 4180, establishing the formal specification for CSV files.
1972IBM Fortran (H Extended) compiler implements comma-delimited input/output.

مزایا و نقاط قوت کلیدی

  • Maximum simplicity: readable in any text editor and importable into every database and spreadsheet.
  • Extremely fast line-by-line streaming without building a full in-memory DOM.
  • Minimal overhead: no verbose tag syntax or schema definitions.

محدودیت‌ها و معایب فنی

  • No standard data types: numbers, dates, booleans, and text are all stored as raw strings.
  • No support for multiple sheets, cell formatting, formulas, or metadata.
  • Delimiter conflicts (commas inside text, decimal commas in European locales) cause frequent parsing bugs.

نکات فنی جالب

  • In many European countries where commas are used as decimal points, semicolons (;) are used instead of commas as CSV separators.
  • Microsoft Excel historically required a UTF-8 BOM (0xEF 0xBB 0xBF) to correctly display non-ASCII accented characters.

سوالات فنی متداول

What is RFC 4180?

RFC 4180 is the official IETF standard for CSV. It mandates that fields containing commas, line breaks, or double quotes must be enclosed in double quotes, and internal quotes must be escaped by doubling them ("").

Why do CSV files open with corrupted characters in Excel?

Older versions of Microsoft Excel default to the local Windows code page (like Windows-1252) rather than UTF-8 when opening CSV files directly. Adding a UTF-8 BOM (Byte Order Mark) at the start of the file forces Excel to decode UTF-8 correctly.