# Conjunto de caracteres de byte duplo (DBCS)

Um conjunto de caracteres de byte duplo (DBCS) é uma codificação de caracteres em que todos os caracteres (incluindo caracteres de controle) são codificados em dois bytes, ou apenas cada caractere gráfico não representável por um conjunto de caracteres de byte único (SBCS) que o acompanha é codificado em dois bytes (os caracteres Han geralmente compreendem a maioria desses caracteres de dois bytes). Um DBCS suporta idiomas que contêm muitos caracteres ou símbolos exclusivos (o número máximo de caracteres que podem ser representados com um byte é 256 caracteres, enquanto dois bytes podem representar até 65.536 caracteres). Exemplos de tais idiomas incluem japonês e chinês. O Hangul não contém tantos caracteres, mas o KS X 1001 suporta o Hangul e o Hanja e usa dois bytes por caractere.

## Em computação CJK (chinês/japonês/coreano)

O termo DBCS tradicionalmente se refere à uma codificação de caracteres onde cada caractere gráfico é codificado em dois bytes.
Em um código de 8 bits, como Big-5 ou Shift JIS, um caractere do DBCS é representado por um byte inicial (primeiro) com o bit mais significativo como 1 (ativado) (ou seja, sendo maior do que sete bits) e pareado com um conjunto de caracteres de byte único (SBCS). Por motivos práticos de manter a compatibilidade com software não modificado, o SBCS é associado à caracteres de meia largura e o DBCS à caracteres de largura total. Em um código de 7 bits, como o ISO/IEC 2022 JP, sequências de escape ou códigos de deslocamento são usados para alternar entre SBCS e DBCS. Às vezes, o uso do termo "DBCS" pode implicar em uma estrutura subjacente que não está em conformidade com o ISO/IEC 2022. Por exemplo, "DBCS" às vezes pode significar uma codificação de byte duplo que não é especificamente código Unix estendido (EUC).
Este significado original de DBCS é diferente do que alguns consideram o uso correto hoje. Alguns insistem que essas codificações de caracteres sejam apropriadamente chamadas de conjuntos de caracteres multibyte (MBCS) ou codificações de largura variável]], porque as codificações de caracteres como EUC-JP, EUC-KR, EUC-TW, GB 18030 e UTF-8 usam mais de dois bytes para alguns caracteres e suportam um byte para outros caracteres.

## Ambiguidade

Algumas pessoas usam o termo DBCS como sinônimo para as codificações UTF-16 e UTF-8, enquanto outras pessoas o usam para codificações de caracteres mais antigas (pré-unicode) que usam mais de um byte por caractere. Shift JIS, GB2312 e Big5 são algumas codificações de caracteres que podem conter mais de um byte por caractere, mas mesmo o uso do termo DBCS para essas codificações de caracteres é uma terminologia incorreta porque essas codificações de caracteres são, na verdade, codificações de largura variável. Alguns mainframes IBM (international business machines corporation) têm verdadeiras páginas de código DBCS, que contêm apenas a parte de byte duplo de uma página de código multibyte.
Se uma pessoa usa o termo "habilitação DBCS" para internacionalização de software, ela está usando uma terminologia ambígua. Ela significa que querem escrever software para mercados do leste asiático usando tecnologia mais antiga com páginas de código ou estão planejando usar unicode. Às vezes, este termo também implica traduzir em um idioma do leste asiático. Normalmente, "habilitação de unicode" significa internacionalização de software usando unicode e "habilitação de DBCS" significa o uso de codificações de caracteres incompatíveis que existem entre os vários países do leste asiático para internacionalizar software. Como o Uuicode, ao contrário de muitas outras codificações de caracteres, oferece suporte a todos os principais idiomas do leste asiático, geralmente é mais fácil habilitar e manter o software que usa unicode. A habilitação DBCS (não unicode) geralmente só é desejada quando sistemas operacionais ou aplicativos muito mais antigos não suportam Unicode.

## TBCS

Um conjunto de caracteres de byte triplo (TBCS) é uma codificação de caracteres na qual os caracteres (incluindo os caracteres de controle) são codificados em três bytes.