Character literal

{{Short description|Type of literal in programming}}

A character literal is a type of literal in programming for the representation of a single character's value within the source code of a computer program.

Languages that have a dedicated character data type generally include character literals; these include C, C++, Java,{{Cite web|url=https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html|title=Primitive Data Types (The Java™ Tutorials > Learning the Java Language > Language Basics)|website=docs.oracle.com|access-date=2016-09-24}} and Visual Basic.{{Cite web|url=https://msdn.microsoft.com/en-us/library/47zceaw7.aspx|title=Data Type Summary (Visual Basic)|website=msdn.microsoft.com|access-date=2016-09-24}} Languages without character data types (like Python{{Cite web|url=https://docs.python.org/2/library/stdtypes.html|title=5. Built-in Types — Python 2.7.12 documentation|website=docs.python.org|access-date=2016-09-24}} or PHP{{Cite web|url=http://php.net/manual/en/language.types.php|title=PHP: Types - Manual|website=php.net|access-date=2016-09-24}}) will typically use strings of length 1 to serve the same purpose a character data type would fulfil. This simplifies the implementation and basic usage of a language but also introduces new scope for programming errors.

A common convention for expressing a character literal is to use a single quote (') for character literals, as contrasted by the use of a double quote (") for string literals. For example, 'a' indicates the single character a while "a" indicates the string a of length 1.

The representation of a character within the computer memory, in storage, and in data transmission, is dependent on a particular character encoding scheme. For example, an ASCII (or extended ASCII) scheme will use a single byte of computer memory, while a UTF-8 scheme will use one or more bytes, depending on the particular character being encoded.

Alternative ways to encode character values include specifying an integer value for a code point, such as an ASCII code value or a Unicode code point. This may be done directly via converting an integer literal to a character, or via an escape sequence.

See also

References