" (Quotation Mark) is ASCII code point 34 (0x22), Unicode U+0022, and a printable punctuation character. It sets off quoted speech or cited text — a pair of them act like fences around someone else's words. In code, this is the string delimiter you reach for first. C, Java, Python, JavaScript, Go, and Rust all use double quotes to wrap string literals, though the languages disagree on what else qualifies — Python treats single and double quotes interchangeably, while C reserves single quotes for individual characters. Beyond source files, the double quote is load-bearing in JSON, where keys and string values must use it (single quotes are a syntax error). It's also the character you'll forget to escape inside CSV fields: a cell containing "Sales "Q3"" will silently split across columns unless you double it up as "" per RFC 4180. The glyph descends from the ditto mark used by medieval scribes to avoid recopying text, which evolved into the quotation marks printers adopted around the seventeenth century. UTF-8 encodes it as a single byte 0x22. Unicode classifies it as Po (Punctuation, Other) under the name QUOTATION MARK. Don't confuse it with the curly quotation marks “ and ” (U+201C and U+201D) — pasting from a word processor into source code swaps in those impostors and produces baffling compile errors.
const char *json = "{\"name\":\"Ada\"}";// \" embeds ASCII 34 inside a string literalprintf("%s\n", json);printf("Quote code: %d\n", '"');
It depends on the language. In Python and JavaScript, they're interchangeable for strings. In Bash, double quotes allow variable expansion ($var) while single quotes are literal. In JSON, only double quotes are valid. In C/Java, double quotes are for strings, single quotes for characters.
Use an escape sequence: \" in most languages. Alternatively, wrap the string in single quotes ('He said "hi"'). In SQL, double the quote (""). In Python, triple-quotes ("""...""") let you include unescaped quotes.
JSON was designed as a strict subset of JavaScript object notation. Douglas Crockford chose double quotes only to simplify parsing — no need to handle both quote types or escape rules. This is why {'key': 'value'} is valid JavaScript but invalid JSON.
Use " or " in HTML. You must escape double quotes inside HTML attribute values (e.g., <div title="He said "hi"">). Inside regular text content, browsers handle unescaped quotes, but escaping is still best practice for valid markup.