DBCS


Un juego de caracteres de doble byte ( DBCS ) es una codificación de caracteres en la que todos los caracteres (incluidos los caracteres de control ) están codificados en dos bytes, o simplemente cada carácter gráfico no representable por un juego de caracteres de un solo byte ( SBCS ) adjunto está codificado en dos bytes ( los caracteres Han generalmente comprenden la mayoría de estos caracteres de dos bytes). Un DBCS admite idiomas nacionales que contienen muchos caracteres o símbolos únicos (el número máximo de caracteres que se pueden representar con un byte es de 256 caracteres, mientras que dos bytes pueden representar hasta 65,536caracteres). Algunos ejemplos de estos idiomas son el japonés y el chino. El Hangul coreano no contiene tantos caracteres, pero KS X 1001 admite tanto Hangul como Hanja , y usa dos bytes por carácter.

El término DBCS se refiere tradicionalmente a una codificación de caracteres en la que cada carácter gráfico se codifica en dos bytes.

En un código de 8 bits, como Big-5 o Shift JIS , un carácter del DBCS se representa con un byte inicial (primer) con el conjunto de bits más significativo (es decir, mayor de siete bits) y emparejado con un juego de caracteres de un solo byte (SBCS). Por la razón práctica de mantener la compatibilidad con el software estándar no modificado, el SBCS se asocia con caracteres de ancho medio y el DBCS con caracteres de ancho completo . En un código de 7 bits como ISO-2022-JP , se utilizan secuencias de escape o códigos de cambio para cambiar entre SBCS y DBCS.

A veces, el uso del término "DBCS" puede implicar una estructura subyacente que no cumple con ISO 2022 . Por ejemplo, "DBCS" a veces puede significar una codificación de doble byte que específicamente no es Código Unix Extendido (EUC).

Este significado original de DBCS es diferente de lo que algunos consideran uso correcto en la actualidad. Algunos insisten en que estas codificaciones de caracteres se denominen correctamente conjuntos de caracteres de varios bytes (MBCS) o codificaciones de ancho variable , porque las codificaciones de caracteres como EUC-JP , EUC-KR , EUC-TW , GB18030 y UTF-8 utilizan más de dos bytes para algunos caracteres y admiten un byte para otros caracteres.

Algunas personas usan DBCS para referirse a las codificaciones UTF-16 y UTF-8 , mientras que otras personas usan el término DBCS para referirse a codificaciones de caracteres más antiguas (anteriores a Unicode ) que usan más de un byte por carácter. Shift JIS , GB2312 y Big5 son algunas codificaciones de caracteres que pueden contener más de un byte por carácter, pero incluso usar el término DBCS para estas codificaciones de caracteres es una terminología incorrecta porque estas codificaciones de caracteres son realmente codificaciones de ancho variable (al igual que ambas UTF- 16 y UTF-8). Algunos mainframes de IBM tienen verdaderas páginas de códigos DBCS, que contienen solo la parte de doble byte de una página de códigos de varios bytes.