Modernization Hub

DBCS - Double Byte Character Set

Enhanced Definition

DBCS (Double Byte Character Set) is a character encoding scheme predominantly used on IBM mainframes to represent characters from languages that require more than 256 unique values, such as Japanese, Chinese, and Korean. Unlike Single Byte Character Sets (SBCS) like EBCDIC, each character in a DBCS typically occupies two bytes of storage. It enables z/OS systems to process and display complex international scripts. DBCS, or Double Byte Character Set, is a character encoding scheme where each character is represented by two bytes. It is primarily used on IBM mainframes and z/OS to support languages with large character sets, such as Japanese, Chinese, and Korean, which cannot be adequately represented by single-byte character sets like EBCDIC.

Key Characteristics

    • Two-byte Representation: Each character is encoded using two bytes, allowing for tens of thousands of unique characters, which is essential for languages with large character sets.
    • Mixed Strings (SO/SI): Often used in conjunction with SBCS within a single string, where special Shift-Out (SO) (X'0E') and Shift-In (SI) (X'0F') control characters delimit segments of DBCS characters.
    • Internationalization Support: Crucial for developing and running applications that process and display data in East Asian languages on z/OS, enabling global reach for mainframe applications.
    • Impact on Storage and Processing: Requires more storage space than SBCS and can impact processing logic due to the two-byte nature and the need to handle mixed strings and SO/SI characters.
    • CCSID Association: DBCS encodings are always associated with a specific CCSID (Coded Character Set Identifier), which defines the exact mapping of byte sequences to characters.

Use Cases

    • Global Application Development: Storing and processing customer names, addresses, and product descriptions in Japanese, Chinese, or Korean within mainframe applications (e.g., banking, insurance, manufacturing).
    • Data Entry and Display: Enabling 3270 terminals (equipped with DBCS capabilities) to correctly display and allow entry of multi-byte characters for international users interacting with CICS or TSO applications.
    • Database Storage: Storing internationalized data in DB2, IMS, or VSAM files, ensuring the correct character representation, collation, and searching capabilities for non-Latin scripts.
    • Report Generation and Printing: Producing reports, invoices, and documents in non-Latin languages directly from mainframe batch jobs or online transactions, often requiring DBCS-capable printers.

Related Concepts

DBCS extends the capabilities of traditional EBCDIC (Extended Binary Coded Decimal Interchange Code), which is a Single Byte Character Set (SBCS), by providing a mechanism to represent a much larger set of characters. It is intrinsically linked to CCSIDs (Coded Character Set Identifiers), which define the specific encoding rules for a character set, including how SBCS and DBCS characters are combined and converted. In COBOL, DBCS data is typically handled using PIC G for DBCS-only fields or PIC N for national characters (which can be DBCS or UTF-16), distinct from PIC X for SBCS. Mainframe subsystems like CICS, DB2, and IMS provide facilities to store, retrieve, and process DBCS data correctly, often relying on the underlying z/OS support for character conversion and display services.

Best Practices:
  • Consistent CCSID Usage: Ensure that the correct CCSID is consistently applied across all components (applications, databases, terminals, utilities, and external interfaces) to prevent data corruption or misinterpretation.
  • **Use

Related Vendors

IBM

646 products

Trax Softworks

3 products

Related Categories

Operating System

154 products

Browse and Edit

64 products