Whitespace character

In, whitespace is any or series of characters that represent horizontal or vertical  in. When rendered, a whitespace character does not correspond to a visible mark, but typically does occupy an area on a page. For example, the common whitespace symbol (also  32) represents a  punctuation character in text, used as a  in Western s.

Overview
With many keyboard layouts, a horizontal whitespace character may be entered through the use of a. Horizontal whitespace may also be entered on many keyboards through the use of the key, although the length of the space may vary. Vertical whitespace is a bit more varied as to how it is encoded, but the most obvious in typing is the result which creates a 'newline' code sequence in applications programs. Older keyboards might instead say, abbreviating the typewriter keyboard meaning 'Carriage-Return' which generated an electromechanical return to the left stop (CR code in ASCII- &amp;0D;) and a line feed or move to the next line (LF code in ASCII-hex &amp;0A;); in some applications these were independently used to draw text cell based displays on monitors or for printing on tractor-guided printers&mdash;which might also contain reverse motions/positioning code sequences allowing text-based output devices to achieve more sophisticated output. Many early computer games used such codes to draw a screen (e.g. ), and word processing software would use this to produce printed effects such as bold, underline, and strikeout.

The term "whitespace" is based on the resulting appearance on ordinary. However they are coded inside an application, whitespace can be processed the same as any other character code and programs can do the proper action as defined for the context in which they occur.

Definition and ambiguity
The most common whitespace characters may be typed via the or the. Depending on context, a line-break generated by the return or may be considered whitespace as well.

Unicode
The table below lists the twenty-five characters defined as whitespace ("WSpace=Y", "WS") characters in the Character Database. Seventeen use a definition of whitespace consistent with the algorithm for ("Bidirectional Character Type=WS") and are known as "Bidi-WS" characters. The remaining characters may also be used, but are not of this "Bidi" type.

Note: Depending on the browser and fonts used to view the following table, not all spaces may be displayed properly.

Substitutes
Unicode also provides some visible characters that can be used to represent whitespace:

or, or the named entity  , but is not universally supported in browsers yet,  The  is named entity   and numeric references   or. These spaces are much thinner than a normal space (except in a ), with the hair space being the thinner of the two.

Formatting values of quantities
The prescribes inserting a space between a number and a  and between units in compound units. A thin space should be used as thousands separator. See.

Programming languages
In syntax, spaces are frequently used to explicitly separate. In most languages multiple whitespace characters are treated the same as a single whitespace character (outside of quoted strings); such languages are called . In a few languages, including, , , and , whitespace and indentation are used for syntactical purposes. In the satirical language called, whitespace characters are the only valid characters for programming, while any other characters are ignored.

Excessive use of whitespace, especially trailing whitespace at the end of lines, is considered a nuisance. However correct use of whitespace can make the code easier to read and help group related logic.

Most languages only recognize ASCII characters as whitespace, or in some cases Unicode newlines as well, but not most of the characters listed above. The defines whitespace characters to be "space, horizontal tab, new-line, vertical tab, and form-feed". The network protocol requires different types of whitespace to be used in different parts of the protocol, such as: only the space character in the  line, CRLF at the end of a line, and "linear whitespace" in header values.

Command line user interfaces
In commands processed by s, e.g., in scripts and typed in, the space character can cause problems as it has two possible functions: as part of a command or parameter, or as a parameter or name. Ambiguity can be prevented either by prohibiting embedded spaces, or by enclosing a name with embedded spaces between quote characters.

Markup languages
Some markup languages, such as, preserve whitespace as written.

Web markup languages such as and  treat whitespace characters specially, including space characters, for programmers' convenience. One or more space characters read by conforming display-time processors of those s are collapsed to 0 or 1 space, depending on their semantic context. For example, double (or more) spaces within text are collapsed to a single space, and spaces which appear on either side of the " " that separates an attribute name from its value have no effect on the interpretation of the document. Element end tags can contain trailing spaces, and empty-element tags in XML can contain spaces before the " ". In these languages, unnecessary whitespace increases the file size, and so may slow network transfers. On the other hand, unnecessary whitespace can also inconspicuously mark code, similar to, but less obvious than comments in code. This can be desirable to prove an of license or copyright that was committed by.

In XML attribute values, sequences of whitespace characters are treated as a single space when the document is read by a parser. Whitespace in XML element content is not changed in this way by the parser, but an application receiving information from the parser may choose to apply similar rules to element content. An XML document author can use the  attribute on an element to instruct the parser to discourage the downstream application from altering whitespace in that element's content.

In most s, a sequence of whitespace characters is treated as a single inter-word separator, which may manifest as a single space character when rendering text in a language that normally inserts such space between words. Conforming HTML renderers are required to apply a more literal treatment of whitespace within a few prescribed elements, such as the  tag and any element for which  has been used to apply  -like whitespace processing. In such elements, space characters will not be "collapsed" into inter-word separators.

In both XML and HTML, the character, along with other non-"standard" spaces, is not treated as collapsible "whitespace", so it is not subject to the rules above.

File names
Such usage is similar to multiword file names written for operating systems and applications that are confused by embedded space codes&mdash;such file names instead use an (_) as a word separator, as_in_this_phrase.

Another such symbol was. This was used in the early years of computer programming when writing on coding forms. operators immediately recognized the symbol as an "explicit space". It was used in, , and.