DBCS

For other uses, see DBCS (disambiguation).

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (September 2021) (Learn how and when to remove this template message)

|

A double-byte character set (DBCS) is a character encoding in which either all characters (including control characters) are encoded in two bytes, or merely every graphic character not representable by an accompanying single-byte character set (SBCS) is encoded in two bytes (Han characters would generally comprise most of these two-byte characters). A DBCS supports national languages that contain many unique characters or symbols (the maximum number of characters that can be represented with one byte is 256 characters, while two bytes can represent up to 65,536 characters). Examples of such languages include Japanese and Chinese. Korean Hangul does not contain as many characters, but KS X 1001 supports both Hangul and Hanja, and uses two bytes per character.

## In CJK (Chinese/Japanese/Korean) computing[edit]

The term DBCS traditionally refers to a character encoding where each graphic character is encoded in two bytes.

In an 8-bit code, such as Big-5 or Shift JIS, a character from the DBCS is represented with a lead (first) byte with the most significant bit set (i.e., being greater than seven bits), and paired up with a single-byte character-set (SBCS). For the practical reason of maintaining compatibility with unmodified, off-the-shelf software, the SBCS is associated with half-width characters and the DBCS with full-width characters. In a 7-bit code such as ISO-2022-JP, escape sequences or shift codes are used to switch between the SBCS and DBCS.

Sometimes, the use of the term "DBCS" can imply an underlying structure that does not comply with ISO 2022. For example, "DBCS" can sometimes mean a double-byte encoding that is specifically not Extended Unix Code (EUC).

This original meaning of DBCS is different from what some consider correct usage today. Some insist that these character encodings be properly called multi-byte character sets (MBCS) or variable-width encodings, because character encodings such as EUC-JP, EUC-KR, EUC-TW, GB 18030, and UTF-8 use more than two bytes for some characters, and they support one byte for other characters.

## Ambiguity [edit]

Some people use DBCS to mean the UTF-16 and UTF-8 encodings, while other people use the term DBCS to mean older (pre-Unicode) character encodings that use more than one byte per character. Shift JIS, GB 2312 and Big5 are a few character encodings that can contain more than one byte per character, but even using the term DBCS for these character encodings is incorrect terminology because these character encodings are really variable-width encodings (as are both UTF-16 and UTF-8). Some IBM mainframes do have true DBCS code pages, which contain only the double byte portion of a multi-byte code page.

If a person uses the term "DBCS enablement" for software internationalization, they are using ambiguous terminology. They either mean they want to write software for East Asian markets using older technology with code pages, or they are planning on using Unicode. Sometimes this term also implies translation into an East Asian language. Usually "Unicode enablement" means internationalizing software by using Unicode, and "DBCS enablement" means using incompatible character encodings that exist between the various countries in East Asia for internationalizing software. Since Unicode, unlike many other character encodings, supports all the major languages in East Asia, it is generally easier to enable and maintain software that uses Unicode. DBCS (non-Unicode) enablement is usually only desired when much older operating systems or applications do not support Unicode.

## TBCS[edit]

A triple-byte character set (TBCS) is a character encoding in which characters (including control characters) are encoded in three bytes.

## See also[edit]

* Variable-width encoding
* DOS/V

## External links[edit]

* Microsoft's definition of "double-byte character set"
* IBM's definition of "double-byte character set" at the Wayback Machine (archived October 18, 2018)

* v
* t
* e

Character encodings

Early telecommunications|

* Telegraph code
* Needle
* Morse
* Non-Latin
* Wabun/Kana
* Chinese
* Cyrillic
* Korean
* Baudot and Murray
* Fieldata
* ASCII
* ISO/IEC 646
* BCDIC
* Teletex and Videotex/Teletext
* T.51/ISO/IEC 6937
* ITU T.61
* ITU T.101
* World System Teletext
* background
* sets
* Transcode

ISO/IEC 8859|

* Approved parts
* -1 (Western Europe)
* -2 (Central Europe)
* -3 (Maltese/Esperanto)
* -4 (North Europe)
* -5 (Cyrillic)
* -6 (Arabic)
* -7 (Greek)
* -8 (Hebrew)
* -9 (Turkish)
* -10 (Nordic)
* -11 (Thai)
* -13 (Baltic)
* -14 (Celtic)
* -15 (New Western Europe)
* -16 (Romanian)
* Abandoned parts
* -12 (Devanagari)
* Proposed but not approved
* KOI-8 Cyrillic
* Sámi
* Adaptations
* Welsh
* Barents Cyrillic
* Estonian
* Ukrainian Cyrillic

Bibliographic use|

* MARC-8
* ANSEL
* CCCII/EACC
* ISO 5426
* 5426-2
* 5427
* 5428
* 6438
* 6862

National standards|

* ArmSCII
* BraSCII
* CNS 11643
* DIN 66003
* ELOT 927
* GOST 10859
* GB 2312
* GB 12345
* GB 12052
* GB 18030
* HKSCS
* ISCII
* JIS X 0201
* JIS X 0208
* JIS X 0212
* JIS X 0213
* KOI-7
* KPS 9566
* KS X 1001
* KS X 1002
* LST 1564
* LST 1590-4
* PASCII
* Shift JIS
* SI 960
* TIS-620
* TSCII
* VISCII
* VSCII
* YUSCII

ISO/IEC 2022|

* ISO/IEC 8859
* ISO/IEC 10367
* Extended Unix Code / EUC

Mac OS Code pages
("scripts")|

* Armenian
* Arabic
* Barents Cyrillic
* Celtic
* Central European
* Croatian
* Cyrillic
* Devanagari
* Farsi (Persian)
* Font X (Kermit)
* Gaelic
* Georgian
* Greek
* Gujarati
* Gurmukhi
* Hebrew
* Iceland
* Inuit
* Keyboard
* Latin (Kermit)
* Maltese/Esperanto
* Ogham
* Roman
* Romanian
* Sámi
* Turkish
* Turkic Cyrillic
* Ukrainian
* VT100

DOS code pages|

* 437
* 668
* 708
* 720
* 737
* 770
* 773
* 775
* 776
* 777
* 778
* 850
* 851
* 852
* 853
* 855
* 856
* 857
* 858
* 859
* 860
* 861
* 862
* 863
* 864
* 865
* 866
* 867
* 868
* 869
* 897
* 899
* 903
* 904
* 932
* 936
* 942
* 949
* 950
* 951
* 1034
* 1040
* 1042
* 1043
* 1044
* 1098
* 1115
* 1116
* 1117
* 1118
* 1127
* 3846
* ABICOMP
* CS Indic
* CSX Indic
* CSX+ Indic
* CWI-2
* Iran System
* Kamenický
* Mazovia
* MIK

IBM AIX code pages|

* 895
* 896
* 912
* 915
* 921
* 922
* 1006
* 1008
* 1009
* 1010
* 1012
* 1013
* 1014
* 1015
* 1016
* 1017
* 1018
* 1019
* 1046
* 1124
* 1133

Windows code pages|

* CER-GS
* 932
* 936 (GBK)
* 950
* 1169
* Extended Latin-8
* 1250
* 1251
* 1252
* 1253
* 1254
* 1255
* 1256
* 1257
* 1258
* 1270
* Cyrillic + Finnish
* Cyrillic + French
* Cyrillic + German
* Polytonic Greek

EBCDIC code pages|

* 37
* Japanese language in EBCDIC
* DKOI

DEC terminals (VTx)|

* Multinational (MCS)
* National Replacement (NRCS)
* French Canadian
* Swiss
* Spanish
* United Kingdom
* Dutch
* Finnish
* French
* Norwegian and Danish
* Swedish
* Norwegian and Danish (alternative)
* 8-bit Greek
* 8-bit Turkish
* SI 960
* Hebrew
* Special Graphics
* Technical (TCS)

Platform specific|

* 1052
* 1053
* 1054
* 1055
* 1056
* 1057
* 1058
* Acorn
* Adobe Standard
* Adobe Latin 1
* Amstrad CPC
* Apple II
* ATASCII
* Atari ST
* BICS
* Casio calculators
* CDC
* Compucolor 8001
* Compucolor II
* CP/M+
* DEC RADIX 50
* DEC MCS/NRCS
* DG International
* Fieldata
* GEM
* GSM 03.38
* HP Roman
* HP FOCAL
* HP RPL
* SQUOZE
* LICS
* LMBCS
* MSX
* NEC APC
* NeXT
* PETSCII
* SAM Coupé
* Sega SC-3000
* Sharp calculators
* Sharp MZ
* Sinclair QL
* Symbol
* Teletext
* TI calculators
* TRS-80
* Ventura International
* WISCII
* XCCS
* ZX80
* ZX81
* ZX Spectrum

Unicode / ISO/IEC 10646|

* UTF-1
* UTF-7
* UTF-8
* UTF-16
* UTF-32
* UTF-EBCDIC
* GB 18030
* DIN 91379
* BOCU-1
* CESU-8
* SCSU
* TACE16
* Comparison of Unicode encodings

TeX typesetting system|

* Cork
* LY1
* OML
* OMS
* OT1

Miscellaneous code pages|

* ABICOMP
* ASMO 449
* Big5
* Digital encoding of APL symbols
* ISO-IR-68
* ARIB STD-B24
* HZ
* IEC-P27-1
* INIS
* 7-bit
* 8-bit
* ISO-IR-169
* ISO 2033
* KOI
* KOI8-R
* KOI8-RU
* KOI8-U
* Mojikyō
* SEASCII
* Stanford/ITS
* TRON
* Unified Hangul Code

Control character|

* Morse prosigns
* C0 and C1 control codes
* ISO/IEC 6429
* JIS X 0211
* Unicode control, format and separator characters
* Whitespace characters

Related topics|

* CCSID
* Character encodings in HTML
* Charset detection
* Han unification
* Hardware code page
* MICR code
* Mojibake
* Variable-length encoding

Character sets
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template