Character encoding

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Specific character sets or encodings)
(Character memory storage types)
Line 105: Line 105:
 
* [[char (Java)]] exactly 16 bits that represent [[UCS2]]
 
* [[char (Java)]] exactly 16 bits that represent [[UCS2]]
 
* [[java.lang.Character]] exactly 16 bits that represent [[UCS2]] wrapped in an object
 
* [[java.lang.Character]] exactly 16 bits that represent [[UCS2]] wrapped in an object
 
====Scala====
 
Both char and scala.Char are wrappers around [[Java bytecode|JVM]]'s original types.
 
  
 
===.Net framework===
 
===.Net framework===
 
* [[System.Char]] exactly 16 bits that represent [[UCS2]] (This is C#'s char)
 
* [[System.Char]] exactly 16 bits that represent [[UCS2]] (This is C#'s char)
 +
 +
===Pascal===
 +
Traditionally, Pascal stored 8-bit characters (in system-specific character sets), and some implementations also had a 'string' type that was an array of characters with the zeroth element containing the number of characters in the string (maximum 255). Newer Pascal implementations have a variety of other types. [http://wiki.freepascal.org/Character_and_string_types]
  
 
===QuickBasic===
 
===QuickBasic===
 
There is no single character datatype. (There's STRING that holds up to 32767 characters assumed to be 1 byte each).
 
There is no single character datatype. (There's STRING that holds up to 32767 characters assumed to be 1 byte each).
 +
 +
====Scala====
 +
Both char and scala.Char are wrappers around [[Java bytecode|JVM]]'s original types.
  
 
== Tools ==
 
== Tools ==

Revision as of 21:14, 19 May 2019

File Format
Name Character encoding
Ontology

{{{caption}}}

Character Encodings are methods of representing characters of text, usually as numeric values which can be stored on computers as bits and bytes, but sometimes in other things (e.g., Braille represents them as patterns of raised dots). Sometimes they're also referred to as "character sets", but purists will make a distinction in that, strictly speaking, a character set is merely a repertoire of characters, the list of characters supported by some system, protocol, or file format, without it necessarily having any inherent order or numbering system. A character encoding assigns specific values (in some coding system) to each character. However, the distinction can get vague and fuzzy; there are multiple levels of abstraction (Unicode includes a set of defined characters as well as assigned numeric code points for each, but leaves it to other more specific encodings such as UTF-8 to define the specific bits/bytes that represent them in a file), and some protocols even use parameter names such as 'charset' to indicate which character encoding is in use, so the terminology can slip and slide even in "tech" uses. This section documents all the various sorts of character sets/encodings of any sort.

See Fonts for the renditions of character encodings as seen on screens and printouts. The appearance of a character is known as a "glyph", and a font consists of a set of glyphs mapped onto the more abstractly-defined characters as included in the character set that is part of a character encoding.

Contents

Specific character sets or encodings

Format details

Character encoding naming and numbering systems

Character escape codes

(used to enter characters in various systems and formats)

See also ANSI escape code.

Character memory storage types

C++

  • char (C++) at least 8 bits
  • char16_t no less than 16 bits, no less than char
  • char32_t no less than 32 bits, no less than char16_t
  • wchar_t whatever the largest block of addressable memory happens to be on the system

Glib library

  • gunichar Unicode character (variable memory length)

Java Virtual Machine

.Net framework

Pascal

Traditionally, Pascal stored 8-bit characters (in system-specific character sets), and some implementations also had a 'string' type that was an array of characters with the zeroth element containing the number of characters in the string (maximum 255). Newer Pascal implementations have a variety of other types. [1]

QuickBasic

There is no single character datatype. (There's STRING that holds up to 32767 characters assumed to be 1 byte each).

Scala

Both char and scala.Char are wrappers around JVM's original types.

Tools

Commentary and satire

Other external links

References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox