From the ASCII Wikipedia page (<a href="https://en.wikipedia.org/wiki/ASCII#7-bit_codes" rel="nofollow">https://en.wikipedia.org/wiki/ASCII#7-bit_codes</a>):<p>> Almost every country needed an adapted version of ASCII, since ASCII suited the needs of only the US and a few other countries. For example, Canada had its own version that supported French characters.<p>> Many other countries developed variants of ASCII to include non-English letters (e.g. é, ñ, ß, Ł), currency symbols (e.g. £, ¥), etc. See also YUSCII (Yugoslavia).<p>> It would share most characters in common, but assign other locally useful characters to several code points reserved for "national use". […]<p>> Because the bracket and brace characters of ASCII were assigned to "national use" code points that were used for accented letters in other national variants of ISO/IEC 646, a German, French, or Swedish, etc. programmer using their national variant of ISO/IEC 646, rather than ASCII, had to write, and, thus, read, something such as<p><pre><code> ä aÄiÜ = 'Ön'; ü
</code></pre>
instead of<p><pre><code> { a[i] = '\n'; }
</code></pre>
> C trigraphs were created to solve this problem for ANSI C, although their late introduction and inconsistent implementation in compilers limited their use. Many programmers kept their computers on US-ASCII, so plain-text in Swedish, German etc. (for example, in e-mail or Usenet) contained "{, }" and similar variants in the middle of words, something those programmers got used to. For example, a Swedish programmer mailing another programmer asking if they should go for lunch, could get "N{ jag har sm|rg}sar" as the answer, which should be "Nä jag har smörgåsar" meaning "No I've got sandwiches".