Knowledge (XXG)

Delimiter

Source 📝

31: 620:
files, for example, field collision can occur whenever an author attempts to include a comma as part of a field value (e.g., salary = "$ 30,000"), and record delimiter collision would occur whenever a field contained multiple lines. Both record and field delimiter collision occur frequently in text
1292:
is a programming and systems administration technique that also helps to avoid delimiter collision in some circumstances. This technique is contrasted from the other approaches described above because it is more complicated, and therefore not suitable for small applications and simple data storage
1029:
is a special type of delimiter that is specifically designed to resist delimiter collision. It works by allowing the author to specify a sequence of characters that is guaranteed to always indicate a boundary between parts in a multi-part message, with no other possible interpretation.
656:
Because delimiter collision is a very common problem, various methods for avoiding it have been invented. Some authors may attempt to avoid the problem by choosing a delimiter character (or sequence of characters) that is not likely to appear in the data stream itself. This
608:
is a problem that occurs when an author or programmer introduces delimiters into text without actually intending them to be interpreted as boundaries between separate regions. In the case of XML, for example, this can occur whenever an author attempts to specify an
899:
In contrast to escape sequences and escape characters, dual delimiters provide yet another way to avoid delimiter collision. Some languages, for example, allow the use of either a single quote (') or a double quote (") to specify a string literal. For example, in
1041:, or some other distinguishing mark. Alternatively, the content may be scanned to guarantee that a delimiter does not appear in the text. This may allow the delimiter to be shorter or simpler, and increase the human readability of the document. ( 661:
approach may be suitable, but it necessarily depends on a correct guess of what will appear in the data stream, and offers no security against malicious collisions. Other, more formal conventions are therefore applied as well.
949:
produces the desired output without requiring escapes. Like regular escaping it can, however, become confusing when many quotes are used. The code to print the above source code would look more confusing:
166:, for example, is an alternate method (without the use of delimiters) that uses a length field at the start of a data stream to specify the number of characters that the data stream contains. 670:
The ASCII and Unicode character sets were designed to solve this problem by the provision of non-printing characters that can be used as delimiters. These are the range from ASCII 28 to 31.
1033:
The delimiter is frequently generated from a random sequence of characters that is statistically improbable to occur in the content. This may be followed by an identifying mark such as a
1479:
This prevents delimiter collision and ensures that incompatible characters will not appear inside the HTML code, regardless of what characters appear in the original (decoded) text.
153: 1897: 1379: 1954: 117: 624:
In some contexts, a malicious user or attacker may seek to exploit this problem intentionally. Consequently, delimiter collision can be the source of security
403: 837:
Escape sequences are similar to escape characters, except they usually consist of some kind of mnemonic instead of just a single character. One use is in
2052: 1981: 1936: 222:
Bracket delimiters, also called block delimiters, region delimiters, or balanced delimiters, mark both the start and end of a region of text.
2180: 2154: 2036: 2010: 1968: 1880: 1854: 1820: 1786: 1760: 1595: 1243:. A here document starts by describing what the end sequence will be and continues until that sequence is seen at the start of a new line. 883:
One drawback of escape sequences, when used by people, is the need to memorize the codes that represent individual characters (see also:
392:
Historically, computing platforms have used certain delimiters by convention. The following tables depict a few examples for comparison.
1013:, which allow any convenient character to act as a delimiter. Although this method is more flexible, few languages support it. Perl and 2334: 1297:, to ensure that delimiter or other significant characters do not appear in transmitted data. The purpose is to prevent multilayered 2276: 2247: 2217: 2129: 2100: 2073: 1734: 1709: 1676: 1650: 1624: 1413:
Alternatively, any encoding could be used that doesn't include characters that have special meaning in the context, such as base64:
1277:
It's very hard to encode a string with "certain characters". Newlines, commas, and other characters can cause delimiter collisions.
1541: 1142:
The syntax is flexible enough to specify match operations with alternate delimiters, making it easy to avoid delimiter collision:
616:
In most file types there is both a field delimiter and a record delimiter, both of which are subject to collision. In the case of
932:
In contrast to escape sequences and escape characters, padding delimiters provide yet another way to avoid delimiter collision.
2329: 958:"print ""Nancy said """"Hello World!"""" to the crowd.""" 361: 920:
produces the desired output without requiring escapes. This approach, however, only works when the string does not contain
2300: 1236: 1227:
allows the inclusion of arbitrary content by describing a special end sequence. Many languages support this including
1078: 1014: 888: 629: 251: 1498: 1331:
in which the VIEWSTATE value contains characters that are incompatible with the delimiters of the HTML tag itself:
884: 806: 2324: 2319: 625: 190: 55: 968:
In contrast to dual delimiters, multiple delimiters are even more flexible for avoiding delimiter collision.
580: 86: 74:. Another example of a delimiter is the time gap used to separate letters and words in the transmission of 617: 344: 186: 71: 35: 126: 805:
text can be rendered unreadable when littered with numerous escape characters, a problem referred to as
47: 1513: 1316:
web development technology, and is closely associated with the "VIEWSTATE" component of that system.
1010: 645: 2304: 1372: 211: 90: 1923: 1084: 813: 208: 204:
fname,lname,age,salary nancy,davolio,33,$ 30000 erin,borakova,28,$ 25250 tony,raphael,35,$ 28700
1898:"Jakarta Server Pages Specification, Version 4.0akarta Server Pages Specification, Version 4.0" 2272: 2243: 2213: 2176: 2150: 2125: 2096: 2069: 2032: 2006: 1948: 1876: 1850: 1816: 1782: 1756: 1730: 1705: 1672: 1646: 1620: 1591: 1493: 1232: 460: 327: 1767:
references C-style programming languages prominently featuring curly brackets and semicolons.
1445: 1298: 936:, for example, uses double quotes as delimiters. This is similar to escaping the delimiter. 822:
they require a mechanism to "escape the escapes" when not intended as escape characters; and
798: 786: 749: 2296: 1806: 1503: 1102:
For example, a simple match operation may be specified in Perl with the following syntax:
789:
solves the problem of both field and record delimiters that appear in a text data stream.
728: 567: 254:
programming language syntax is cited as recognizable primarily by its use of parentheses.
174:
Delimiters may be characterized as field and record delimiters, or as bracket delimiters.
2269:
Developing and Implementing Web Applications with Visual C# . NET and Visual Studio . NET
96: 1533: 2236: 1843: 1828: 1508: 1302: 1289: 1062: 838: 782: 770: 707: 545: 310: 198: 163: 120: 24: 2313: 2090: 2000: 1562: 1405:"BookTitle:Nancy doesn't say "Hello World!" anymore." 1224: 1050: 641: 610: 1324:
The following simplified example demonstrates how this technique works in practice.
1280:
By using a special end sequence all manner of characters are allowed in the string.
182:
Field delimiters separate data fields. Record delimiters separate groups of fields.
1602:
describing the method in Hollerith notation under the Fortran programming language.
1066: 933: 825:
although easy to type, they can be cryptic to someone unfamiliar with the language.
712:
End of file. Or between a concatenation of what might otherwise be separate files.
378: 20: 801:. From a language design standpoint, these are adequate, but they have drawbacks: 1810: 632:. Malicious users can take advantage of delimiter collision in languages such as 1538:
Federal Standard 1037C - Telecommunications: Glossary of Telecommunication Terms
1436:"Qm9va1RpdGxlOk5hbmN5IGRvZXNuJ3Qgc2F5ICJIZWxsbyBXb3JsZCEiIGFueW1vcmUu" 439: 194: 159: 82: 59: 19:
This article is about delimiters in computing. For delimiters in human use, see
1471:"BookTitle:Nancy%20doesn%27t%20say%20%22Hello%20World!%22%20anymore." 1153:'Nancy said "http://Hello/World.htm" is not a valid address.' 30: 1697: 75: 51: 2283:(describes the use of Base64 encoding and VIEWSTATE inside HTML source code) 1309: 1038: 549: 538: 500: 482: 1643:
Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools
1375:, and would therefore not work properly in a "real world" deployed system. 1288:
Although principally used as a mechanism for text encoding of binary data,
1263:
It's very hard to encode a string with "certain characters".
1328: 1069:
as a means of specifying boundaries between independent regions in text.
944:"Nancy said ""Hello World!"" to the crowd." 158:
Delimiters represent one of various means of specifying boundaries in a
38:(CSV) text file. The commas (shown in red) are used as field delimiters. 1382:
can be used. In this case """ stands in for the double-quote:
1313: 677: 562: 527: 510: 495: 490: 293: 268: 247: 2196: 1972: 1927: 1266:
Newlines, commas, and other characters can cause delimiter collisions.
2210:
Internet Security: Cryptographic Principles, Algorithms and Protocols
1985: 1940: 1902: 1294: 553: 514: 50:
for specifying the boundary between separate, independent regions in
16:
Characters that specify the boundary between regions in a data stream
1087:, alternate delimiters may also be used to simplify the syntax for 1001:
qq(Nancy doesn't want to say "Hello World!" anymore.)
992:
qq@Nancy doesn't want to say "Hello World!" anymore.@
983:
qq^Nancy doesn't want to say "Hello World!" anymore.^
1488: 1293:
formats. The technique employs a special encoding scheme, such as
557: 486: 456: 63: 29: 1240: 1096: 1046: 1034: 972: 901: 842: 810: 637: 532: 522: 518: 2254:(an example usage of ASCII armoring in encryption applications) 2224:(an example usage of ASCII armoring in encryption applications) 872:"Nancy said \"Hello World!\" to the crowd." 1228: 633: 2043:
describing solutions for embedded-delimiter problems p. 472.
2053:
Discussion on ASCII Delimited Text vs CSV and Tab Delimited
1113:'Nancy said "Hello World!" to the crowd.' 912:'Nancy said "Hello World!" to the crowd.' 733:
Between sections of data. Not needed in simple data files.
819:
text becomes difficult to parse through regular expression
2147:
Computational Linguistics and Intelligent Text Processing
1061:
Some programming and computer languages allow the use of
853:"Nancy said \x22Hello World!\x22 to the crowd." 841:
that include a doublequote (") character. For example in
85:, delimiters are often used to specify the scope of an 1801: 1799: 1617:
Progress in Standardization in Health Care Informatics
797:
One method for avoiding delimiter collision is to use
2149:. Oxford Oxfordshire: Oxford University Press. 2001. 1887:
Describes single-line and multi-line comments. p. 72.
129: 99: 34:
A stylistic depiction of values inside of a so-named
1177:# match using alternate regular expression delimiter 119:") and as a pair of opposing-looking symbols (e.g., 2235: 1842: 147: 111: 1692: 1690: 1688: 775:Between fields of a record, or members of a row. 280:Brackets (commonly used to denote a subscript). 89:, and can occur both as isolated symbols (e.g., 2175:. Oxford Oxfordshire: Oxford University Press. 2031:. Oxford Oxfordshire: Oxford University Press. 2005:. Oxford Oxfordshire: Oxford University Press. 1875:. Oxford Oxfordshire: Oxford University Press. 1849:. Oxford Oxfordshire: Oxford University Press. 1815:. Oxford Oxfordshire: Oxford University Press. 1781:. Oxford Oxfordshire: Oxford University Press. 1755:. Oxford Oxfordshire: Oxford University Press. 1590:. Oxford Oxfordshire: Oxford University Press. 225:Common examples of bracket delimiters include: 1378:To store arbitrary text in an HTML attribute, 1009:all produce the desired output through use of 828:they do not protect against injection attacks 1793:Describes syntax and delimiters used in HTML. 8: 2262: 2260: 2066:Automating InDesign with Regular Expressions 1861:Describes XML processing instruction. p. 21. 1354:"BookTitle:Nancy doesn't say " 1213:# same as previous, but different delimiter. 404:Comparison of programming languages (syntax) 142: 130: 1953:: CS1 maint: numeric names: authors list ( 1195:# same as previous, but different delimiter 964:Configurable alternative quoting delimiters 1929:The set of control characters for ISO 646 1610: 1608: 128: 98: 2161:Describes whitespace delimiters. p. 258. 1308:This technique is used, for example, in 672: 465: 408: 227: 1525: 1327:The first code fragment shows a simple 816:, leading to sequences such as "\/\/"); 2238:Open Source for Windows Administrators 1946: 189:uses a comma as the delimiter between 1969:American National Standards Institute 1845:Sams Teach Yourself Xml in 10 Minutes 1727:Computer-Aided Reasoning: An Approach 640:to deploy such well-known attacks as 7: 2017:Describes use of control-z. p. 156, 197:indicator as the delimiter between 148:{\displaystyle \langle a,b\rangle } 62:. An example of a delimiter is the 785:as a field separator and ASCII 30 14: 2124:. Javvin Technologies Inc. 2005. 2107:In Ruby, these are indicated as 1753:Explorations in Computer Science 1371:This first code fragment is not 809:(due to use of \ to escape / in 381:to specify language boundaries. 1669:Programming Language Pragmatics 1544:from the original on 2013-03-05 364:in some programming languages. 1641:Friedl, Jeffrey E. F. (2002). 1: 2197:Perl operators and precedence 2173:Mastering Regular Expressions 2029:Mastering Regular Expressions 864:produces the same output as: 46:is a sequence of one or more 2089:Yukihiro, Matsumoto (2001). 1704:(Third ed.). O'Reilly. 1615:de Moor, Georges J. (1993). 1246:Here is an example in perl: 725:INFORMATION SEPARATOR THREE 2301:The Art of Unix Programming 1974:ASCII graphic character set 1700:; Orwant, Jon (July 2000). 1667:Scott, Michael Lee (1999). 1079:Regular expression examples 889:numeric character reference 704:INFORMATION SEPARATOR FOUR 449:Field and Record delimiters 214:using the CSV file format. 178:Field and record delimiters 66:character, which acts as a 2353: 2122:Network Protocols Handbook 1499:Delimiter-separated values 1137:# match one or more vowels 1076: 928:Padding quoting delimiters 924:types of quotation marks. 885:character entity reference 807:leaning toothpick syndrome 767:INFORMATION SEPARATOR ONE 746:INFORMATION SEPARATOR TWO 18: 2335:String (computer science) 2234:Gross, Christian (2005). 2109:general delimited strings 1777:Dilligan, Robert (1998). 1586:Rohl, Jeffrey S. (1973). 1119:# specify a target string 1073:Regular expression syntax 1057:Whitespace or indentation 2171:Friedl, Jeffrey (2006). 2068:. O'Reilly. p. 11. 2027:Friedl, Jeffrey (2006). 2002:Posix Programmer's Guide 1871:Cabrera, Harold (2002). 1779:Computing in the Web Age 1450: 1415: 1384: 1333: 1248: 1144: 1104: 977: 952: 938: 906: 866: 847: 754:End of a record or row. 436:doublequote, singlequote 326:commonly used to denote 309:commonly used to denote 207:This specifies a simple 56:mathematical expressions 2242:. Charles River Media. 2212:. John Wiley and Sons. 1999:Lewine, Donald (1991). 1873:C# for Java Programmers 1725:Kaufmann, Matt (2000). 1534:"Definition: delimiter" 1465:"__VIEWSTATE" 1430:"__VIEWSTATE" 1399:"__VIEWSTATE" 1348:"__VIEWSTATE" 1274:This code would print: 895:Dual quoting delimiters 537:none (except in CP/M), 345:processing instructions 2330:Programming constructs 2064:Kahrel, Peter (2006). 1588:Programming in Fortran 1563:"What is a Delimiter?" 618:comma-separated values 149: 113: 72:comma-separated values 39: 36:comma-separated values 2297:Data File Metaformats 2267:Kalani, Amit (2004). 1841:Watt, Andrew (2003). 1063:whitespace delimiters 594:Position 28 (U+001C) 396:Programming languages 343:used to indicate XML 150: 114: 33: 1971:(December 1, 1975). 1926:(December 1, 1975). 1751:Meyer, Mark (2005). 1567:www.computerhope.com 1514:Tab-separated values 781:The use of ASCII 31 666:ASCII delimited text 646:cross-site scripting 589:Position 30 (U+001E) 584:Position 31 (U+001F) 267:Braces (also called 164:Declarative notation 127: 97: 2305:Eric Steven Raymond 1671:. Morgan Kaufmann. 878:### use escape char 814:regular expressions 606:Delimiter collision 601:Delimiter collision 112:{\displaystyle 1:4} 2208:Rhee, Man (2003). 2092:Ruby in a Nutshell 1459:"hidden" 1424:"hidden" 1393:"hidden" 1342:"hidden" 1085:regular expression 485:systems including 328:character literals 218:Bracket delimiters 209:flat-file database 145: 109: 40: 2182:978-0-596-52812-6 2156:978-3-540-41687-6 2038:978-0-596-52812-6 2012:978-0-937175-73-6 1882:978-1-931836-54-8 1856:978-0-672-32471-0 1822:978-0-596-10105-3 1788:978-0-306-45972-6 1762:978-0-7637-3832-7 1597:978-0-7190-0555-8 1494:Decimal separator 1017:are two that do. 799:escape characters 779: 778: 598: 597: 461:Control character 446: 445: 417:End of Statement 385: 384: 185:For example, the 70:in a sequence of 2342: 2325:Pattern matching 2320:Markup languages 2284: 2282: 2264: 2255: 2253: 2241: 2231: 2225: 2223: 2205: 2199: 2194: 2188: 2186: 2168: 2162: 2160: 2143: 2137: 2135: 2118: 2112: 2106: 2086: 2080: 2079: 2061: 2055: 2050: 2044: 2042: 2024: 2018: 2016: 1996: 1990: 1989: 1979: 1965: 1959: 1958: 1952: 1944: 1934: 1920: 1914: 1913: 1911: 1910: 1894: 1888: 1886: 1868: 1862: 1860: 1848: 1838: 1832: 1826: 1807:Schwartz, Randal 1803: 1794: 1792: 1774: 1768: 1766: 1748: 1742: 1740: 1722: 1716: 1715: 1702:Programming Perl 1694: 1683: 1682: 1664: 1658: 1656: 1638: 1632: 1630: 1612: 1603: 1601: 1583: 1577: 1576: 1574: 1573: 1559: 1553: 1552: 1550: 1549: 1530: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1446:percent-encoding 1440: 1437: 1434: 1431: 1428: 1425: 1422: 1419: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1083:In specifying a 1027:content boundary 1021:Content boundary 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 971:For example, in 959: 956: 945: 942: 916: 913: 910: 879: 876: 873: 870: 860: 857: 854: 851: 793:Escape character 787:Record separator 764: 750:record separator 743: 722: 701: 673: 648:, respectively. 587:RECORD SEPARATOR 466: 409: 374: 371: 357: 354: 340: 337: 323: 320: 306: 303: 290: 287: 277: 264: 261: 244: 241: 228: 154: 152: 151: 146: 118: 116: 115: 110: 2352: 2351: 2345: 2344: 2343: 2341: 2340: 2339: 2310: 2309: 2293: 2288: 2287: 2279: 2266: 2265: 2258: 2250: 2233: 2232: 2228: 2220: 2207: 2206: 2202: 2195: 2191: 2183: 2170: 2169: 2165: 2157: 2145: 2144: 2140: 2132: 2120: 2119: 2115: 2103: 2088: 2087: 2083: 2076: 2063: 2062: 2058: 2051: 2047: 2039: 2026: 2025: 2021: 2013: 1998: 1997: 1993: 1977: 1967: 1966: 1962: 1945: 1932: 1922: 1921: 1917: 1908: 1906: 1896: 1895: 1891: 1883: 1870: 1869: 1865: 1857: 1840: 1839: 1835: 1829:string literals 1823: 1805: 1804: 1797: 1789: 1776: 1775: 1771: 1763: 1750: 1749: 1745: 1737: 1724: 1723: 1719: 1712: 1696: 1695: 1686: 1679: 1666: 1665: 1661: 1653: 1640: 1639: 1635: 1627: 1614: 1613: 1606: 1598: 1585: 1584: 1580: 1571: 1569: 1561: 1560: 1556: 1547: 1545: 1532: 1531: 1527: 1522: 1504:Escape sequence 1485: 1477: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1442: 1441: 1438: 1435: 1432: 1429: 1426: 1423: 1420: 1417: 1411: 1410: 1407: 1404: 1401: 1398: 1395: 1392: 1389: 1386: 1369: 1368: 1365: 1362: 1359: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1322: 1286: 1278: 1272: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1221: 1216: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1159:# target string 1158: 1155: 1152: 1149: 1146: 1140: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1081: 1075: 1059: 1023: 1011:quote operators 1007: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 966: 961: 960: 957: 954: 947: 946: 943: 940: 930: 918: 917: 914: 911: 908: 897: 881: 880: 877: 874: 871: 868: 862: 861: 858: 855: 852: 849: 839:string literals 835: 833:Escape sequence 795: 762: 741: 729:group separator 720: 699: 668: 654: 626:vulnerabilities 603: 593: 588: 583: 390: 372: 369: 360:used to denote 355: 352: 338: 335: 321: 318: 311:string literals 304: 301: 288: 285: 276: 262: 259: 242: 239: 220: 205: 180: 172: 125: 124: 121:angled brackets 95: 94: 68:field delimiter 28: 17: 12: 11: 5: 2350: 2349: 2346: 2338: 2337: 2332: 2327: 2322: 2312: 2311: 2308: 2307: 2292: 2291:External links 2289: 2286: 2285: 2277: 2256: 2248: 2226: 2218: 2200: 2189: 2181: 2163: 2155: 2138: 2130: 2113: 2101: 2081: 2074: 2056: 2045: 2037: 2019: 2011: 1991: 1960: 1924:ISO/TC 97/SC 2 1915: 1889: 1881: 1863: 1855: 1833: 1821: 1795: 1787: 1769: 1761: 1743: 1735: 1717: 1710: 1684: 1677: 1659: 1651: 1633: 1625: 1604: 1596: 1578: 1554: 1524: 1523: 1521: 1518: 1517: 1516: 1511: 1509:String literal 1506: 1501: 1496: 1491: 1484: 1481: 1451: 1416: 1385: 1363:anymore." 1334: 1321: 1318: 1290:ASCII armoring 1285: 1282: 1276: 1249: 1220: 1217: 1145: 1105: 1095:operations in 1074: 1071: 1058: 1055: 1051:Here documents 1022: 1019: 978: 965: 962: 953: 939: 929: 926: 907: 896: 893: 867: 848: 834: 831: 830: 829: 826: 823: 820: 817: 794: 791: 783:Unit separator 777: 776: 773: 771:unit separator 768: 765: 760: 756: 755: 752: 747: 744: 739: 735: 734: 731: 726: 723: 718: 714: 713: 710: 708:file separator 705: 702: 697: 693: 692: 689: 686: 683: 680: 667: 664: 653: 650: 602: 599: 596: 595: 592:FILE SEPARATOR 590: 585: 581:UNIT SEPARATOR 578: 577:ASCII/Unicode 574: 573: 570: 565: 560: 546:Classic Mac OS 542: 541: 535: 530: 525: 507: 506: 503: 498: 493: 479: 478: 475: 472: 469: 444: 443: 437: 434: 430: 429: 426: 423: 419: 418: 415: 414:String Literal 412: 389: 386: 383: 382: 375: 366: 365: 358: 349: 348: 341: 332: 331: 324: 315: 314: 307: 298: 297: 294:Angle brackets 291: 282: 281: 278: 273: 272: 269:curly brackets 265: 256: 255: 245: 236: 235: 232: 219: 216: 203: 179: 176: 171: 168: 144: 141: 138: 135: 132: 108: 105: 102: 25:digit grouping 15: 13: 10: 9: 6: 4: 3: 2: 2348: 2347: 2336: 2333: 2331: 2328: 2326: 2323: 2321: 2318: 2317: 2315: 2306: 2302: 2298: 2295: 2294: 2290: 2280: 2278:0-7897-2901-6 2274: 2270: 2263: 2261: 2257: 2251: 2249:1-58450-347-5 2245: 2240: 2239: 2230: 2227: 2221: 2219:0-470-85285-2 2215: 2211: 2204: 2201: 2198: 2193: 2190: 2184: 2178: 2174: 2167: 2164: 2158: 2152: 2148: 2142: 2139: 2133: 2131:0-9740945-2-8 2127: 2123: 2117: 2114: 2110: 2104: 2102:0-596-00214-9 2098: 2094: 2093: 2085: 2082: 2077: 2075:0-596-52937-6 2071: 2067: 2060: 2057: 2054: 2049: 2046: 2040: 2034: 2030: 2023: 2020: 2014: 2008: 2004: 2003: 1995: 1992: 1987: 1983: 1976: 1975: 1970: 1964: 1961: 1956: 1950: 1942: 1938: 1931: 1930: 1925: 1919: 1916: 1905: 1904: 1899: 1893: 1890: 1884: 1878: 1874: 1867: 1864: 1858: 1852: 1847: 1846: 1837: 1834: 1830: 1824: 1818: 1814: 1813: 1812:Learning Perl 1808: 1802: 1800: 1796: 1790: 1784: 1780: 1773: 1770: 1764: 1758: 1754: 1747: 1744: 1738: 1736:0-7923-7744-3 1732: 1728: 1721: 1718: 1713: 1711:0-596-00027-8 1707: 1703: 1699: 1693: 1691: 1689: 1685: 1680: 1678:1-55860-442-1 1674: 1670: 1663: 1660: 1654: 1652:0-596-00289-0 1648: 1644: 1637: 1634: 1628: 1626:90-5199-114-2 1622: 1619:. IOS Press. 1618: 1611: 1609: 1605: 1599: 1593: 1589: 1582: 1579: 1568: 1564: 1558: 1555: 1543: 1539: 1535: 1529: 1526: 1519: 1515: 1512: 1510: 1507: 1505: 1502: 1500: 1497: 1495: 1492: 1490: 1487: 1486: 1482: 1480: 1449: 1447: 1414: 1383: 1381: 1380:HTML entities 1376: 1374: 1332: 1330: 1325: 1319: 1317: 1315: 1311: 1306: 1304: 1300: 1296: 1291: 1283: 1281: 1275: 1247: 1244: 1242: 1238: 1234: 1230: 1226: 1225:Here document 1219:Here document 1218: 1143: 1103: 1100: 1098: 1094: 1090: 1086: 1080: 1072: 1070: 1068: 1064: 1056: 1054: 1052: 1048: 1044: 1040: 1036: 1031: 1028: 1020: 1018: 1016: 1012: 976: 974: 969: 963: 951: 937: 935: 927: 925: 923: 905: 903: 894: 892: 890: 886: 865: 846: 844: 840: 832: 827: 824: 821: 818: 815: 812: 808: 804: 803: 802: 800: 792: 790: 788: 784: 774: 772: 769: 766: 761: 758: 757: 753: 751: 748: 745: 740: 737: 736: 732: 730: 727: 724: 719: 716: 715: 711: 709: 706: 703: 698: 695: 694: 690: 687: 685:Unicode Name 684: 681: 679: 675: 674: 671: 665: 663: 660: 651: 649: 647: 643: 642:SQL injection 639: 635: 631: 627: 622: 619: 614: 612: 611:angle bracket 607: 600: 591: 586: 582: 579: 576: 575: 571: 569: 566: 564: 561: 559: 555: 551: 547: 544: 543: 540: 536: 534: 531: 529: 526: 524: 520: 516: 512: 509: 508: 504: 502: 499: 497: 494: 492: 488: 484: 481: 480: 476: 474:End of Record 473: 470: 468: 467: 464: 462: 458: 454: 450: 441: 438: 435: 432: 431: 427: 424: 421: 420: 416: 413: 411: 410: 407: 405: 401: 397: 393: 387: 380: 379:web templates 377:used in some 376: 368: 367: 363: 359: 351: 350: 346: 342: 334: 333: 329: 325: 317: 316: 312: 308: 300: 299: 295: 292: 284: 283: 279: 275: 274: 270: 266: 258: 257: 253: 249: 246: 238: 237: 233: 230: 229: 226: 223: 217: 215: 213: 210: 202: 200: 196: 192: 188: 183: 177: 175: 169: 167: 165: 161: 156: 139: 136: 133: 122: 106: 103: 100: 92: 88: 84: 79: 77: 73: 69: 65: 61: 57: 53: 49: 45: 37: 32: 26: 22: 2268: 2237: 2229: 2209: 2203: 2192: 2172: 2166: 2146: 2141: 2121: 2116: 2108: 2095:. O'Reilly. 2091: 2084: 2065: 2059: 2048: 2028: 2022: 2001: 1994: 1973: 1963: 1928: 1918: 1907:. Retrieved 1901: 1892: 1872: 1866: 1844: 1836: 1811: 1778: 1772: 1752: 1746: 1729:. Springer. 1726: 1720: 1701: 1668: 1662: 1645:. O'Reilly. 1642: 1636: 1616: 1587: 1581: 1570:. Retrieved 1566: 1557: 1546:. Retrieved 1537: 1528: 1478: 1443: 1412: 1377: 1370: 1360:World!" 1326: 1323: 1307: 1303:doublequotes 1287: 1279: 1273: 1269:ENDOFHEREDOC 1257:ENDOFHEREDOC 1245: 1233:bash scripts 1222: 1141: 1101: 1093:substitution 1092: 1088: 1082: 1060: 1042: 1032: 1026: 1024: 1008: 970: 967: 948: 934:Visual Basic 931: 921: 919: 898: 882: 863: 859:### use \x22 845:, the code: 836: 796: 780: 688:Common Name 669: 658: 655: 623: 615: 613:character. 605: 604: 477:End of File 471:End of Field 452: 448: 447: 399: 395: 394: 391: 234:Description 224: 221: 206: 184: 181: 173: 157: 80: 67: 60:data streams 43: 41: 21:Word divider 1698:Wall, Larry 1373:well-formed 1301:, i.e. for 1284:ASCII armor 1067:indentation 440:end of line 425:singlequote 388:Conventions 248:Parentheses 231:Delimiters 195:end-of-line 160:data stream 83:mathematics 2314:Categories 1909:2023-02-10 1827:Describes 1572:2020-08-09 1548:2019-11-25 1520:References 1207:m!http://! 1189:m{http://} 1171:m@http://@ 1077:See also: 428:semicolon 187:CSV format 76:Morse code 52:plain text 48:characters 2187:page 472. 1453:<input 1418:<input 1387:<input 1336:<input 1310:Microsoft 1201:$ string1 1183:$ string1 1165:$ string1 1147:$ string1 1125:$ string1 1107:$ string1 1039:timestamp 652:Solutions 550:Apple DOS 539:Control-Z 483:Unix-like 193:, and an 143:⟩ 131:⟨ 87:operation 58:or other 44:delimiter 1980:. ITSCJ/ 1949:citation 1935:. ITSCJ/ 1809:(2005). 1542:Archived 1483:See also 1329:HTML tag 1299:escaping 1254:<< 1043:See e.g. 630:exploits 453:See also 400:See also 362:comments 170:Overview 2271:. Que. 2111:. p. 11 1320:Example 1314:ASP.NET 682:Symbol 621:files. 511:Windows 491:AmigaOS 433:Python 422:Pascal 199:records 2275:  2246:  2216:  2179:  2153:  2128:  2099:  2072:  2035:  2009:  1986:ISO-IR 1941:ISO-IR 1903:GitHub 1879:  1853:  1819:  1785:  1759:  1733:  1708:  1675:  1657:p. 319 1649:  1631:p. 141 1623:  1594:  1468:value= 1433:value= 1402:value= 1351:value= 1295:base64 691:Usage 676:ASCII 659:ad hoc 554:ProDOS 515:MS-DOS 442:(EOL) 250:. The 191:fields 2299:from 2136:p. 26 1978:(PDF) 1933:(PDF) 1489:CDATA 1474:/> 1462:name= 1456:type= 1439:/> 1427:name= 1421:type= 1408:/> 1396:name= 1390:type= 1366:/> 1357:Hello 1345:name= 1339:type= 1251:print 1198:print 1180:print 1162:print 1122:print 1089:match 998:print 989:print 980:print 955:print 941:print 909:print 869:print 850:print 572:none 558:GS/OS 505:none 487:macOS 457:ASCII 373:%> 370:<% 339:?> 336:<? 212:table 91:colon 64:comma 2273:ISBN 2244:ISBN 2214:ISBN 2177:ISBN 2151:ISBN 2126:ISBN 2097:ISBN 2070:ISBN 2033:ISBN 2007:ISBN 1982:IPSJ 1955:link 1937:IPSJ 1877:ISBN 1851:ISBN 1817:ISBN 1783:ISBN 1757:ISBN 1741:p. 3 1731:ISBN 1706:ISBN 1673:ISBN 1647:ISBN 1621:ISBN 1592:ISBN 1241:perl 1239:and 1237:ruby 1131:m/+/ 1097:Perl 1091:and 1047:MIME 1037:, a 1035:UUID 1015:Ruby 973:Perl 922:both 902:Perl 843:Perl 811:Perl 644:and 638:HTML 636:and 628:and 533:CRLF 523:CP/M 519:OS/2 289:> 286:< 252:Lisp 93:in " 23:and 2303:by 1988:-6. 1943:-1. 1444:Or 1312:'s 1229:PHP 1065:or 1053:). 891:). 759:31 738:30 717:29 696:28 678:Dec 634:SQL 563:Tab 528:Tab 496:Tab 463:). 406:). 271:). 155:). 123:in 81:In 2316:: 2259:^ 1984:. 1951:}} 1947:{{ 1939:. 1900:. 1798:^ 1687:^ 1607:^ 1565:. 1540:. 1536:. 1448:: 1305:. 1235:, 1231:, 1223:A 1204:=~ 1186:=~ 1168:=~ 1128:=~ 1099:. 1049:, 1045:, 1025:A 975:: 904:: 887:, 568:CR 556:, 552:, 548:, 521:, 517:, 513:, 501:LF 489:, 459:, 455:, 402:, 356:*/ 353:/* 347:. 330:. 313:. 296:. 201:: 162:. 78:. 54:, 42:A 2281:. 2252:. 2222:. 2185:. 2159:. 2134:. 2105:. 2078:. 2041:. 2015:. 1957:) 1912:. 1885:. 1859:. 1831:. 1825:. 1791:. 1765:. 1739:. 1714:. 1681:. 1655:. 1629:. 1600:. 1575:. 1551:. 1260:; 1210:; 1192:; 1174:; 1156:; 1150:= 1134:; 1116:; 1110:= 1004:; 995:; 986:; 915:; 875:; 856:; 763:␟ 742:␞ 721:␝ 700:␜ 451:( 398:( 322:' 319:' 305:" 302:" 263:} 260:{ 243:) 240:( 140:b 137:, 134:a 107:4 104:: 101:1 27:.

Index

Word divider
digit grouping

comma-separated values
characters
plain text
mathematical expressions
data streams
comma
comma-separated values
Morse code
mathematics
operation
colon
angled brackets
data stream
Declarative notation
CSV format
fields
end-of-line
records
flat-file database
table
Parentheses
Lisp
curly brackets
Angle brackets
string literals
character literals
processing instructions

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.