Guia de Codificações de Caracteres Coreanos: Entendendo EUC-KR e CP949
Lidar com texto no idioma coreano (Hangul) requer uma compreensão clara dos padrões de codificação específicos usados na Coreia do Sul. Embora o UTF-8 seja agora o padrão universal para aplicativos web e móveis modernos, muitos sistemas legados, aplicativos legados do Windows e bancos de dados mais antigos ainda dependem do EUC-KR e sua extensão, o CP949.
Neste guia, mergulharemos nos detalhes técnicos das codificações de caracteres coreanos, sua relação entre si e como gerenciar conversões de forma eficaz para o desenvolvimento moderno.
1. Os Padrões Centrais: EUC-KR e CP949
O texto digital sul-coreano foi moldado principalmente por dois padrões de codificação intimamente relacionados.
EUC-KR (O Padrão Wansung)
EUC-KR (Extended Unix Code for Korean) é baseado no padrão KS X 1001. É um sistema de codificação "Wansung" (pré-composto), o que significa que ele codifica cada sílaba Hangul como uma única unidade, em vez de caracteres separados (Jamo).
- Prós: É muito eficiente para as 2.350 sílabas Hangul mais comuns.
- Contras: Não pode representar todas as 11.172 sílabas Hangul possíveis, levando a problemas com caracteres ou nomes raros.
- Palavras-chave: Codificador decodificador EUC-KR, EUC-KR para UTF-8.
CP949 (A Extensão Windows)
CP949 (Code Page 949) é a extensão proprietária da Microsoft para o EUC-KR. É a codificação padrão para versões mais antigas do Windows (edição coreana) e continua extremamente comum em softwares de negócios legados.
- Por que é importante: O CP949 resolve a principal limitação do EUC-KR ao suportar todas as 11.172 sílabas Hangul possíveis, mantendo a compatibilidade com o EUC-KR.
- Palavras-chave: Codificador decodificador CP949.
2. Tabela de Comparação Técnica
| Codificação | Padrão | Tipo | Melhor Caso de Uso | Compatível com Unicode? |
|---|---|---|---|---|
| EUC-KR | KS X 1001 | Wansung | Sistemas Unix/Linux legados | Não |
| CP949 | MS Windows | Wansung | Aplicativos Windows legados | Não |
| UTF-8 | Unicode | Universal | Todo o software coreano moderno | Sim |
3. Melhores Práticas para o Desenvolvimento de Software Coreano
Transição para o UTF-8
Para qualquer novo projeto coreano, o UTF-8 é a única escolha lógica. Ele suporta nativamente todas as sílabas Hangul, caracteres Hangul antigos e emojis globais sem as limitações das codificações regionais.
- Recomendação: Sempre use UTF-8 (sem BOM) para arquivos de código e conteúdo web.
Normalização (NFC vs. NFD)
Ao trabalhar com texto coreano, é crucial lidar com a normalização Unicode corretamente.
- NFC (Composição Canônica): Os caracteres Hangul são armazenados como sílabas pré-compostas (ex: '한'). Este é o padrão para a web, Windows e Linux.
- NFD (Decomposição Canônica): Os caracteres Hangul são decompostos em Jamos individuais (ex: 'ㅎ', 'ㅏ', 'ㄴ'). Isso é usado principalmente nos sistemas de arquivos do macOS.
- Por que é importante: Uma pesquisa por "한" em NFC não encontrará "한" em NFD, a menos que seu sistema seja "sensível à normalização".
4. FAQ: Perguntas Frequentes
P: Por que os caracteres coreanos aparecem como "quebrados" (乱码) no meu aplicativo?
R: Isso geralmente acontece quando um arquivo EUC-KR ou CP949 é lido como UTF-8. Para corrigir isso, você deve decodificar explicitamente o arquivo usando a codificação coreana correta e codificá-lo novamente para UTF-8.
P: Qual é a diferença entre EUC-KR e CP949?
R: O CP949 é um superconjunto do EUC-KR. Ele adiciona mais de 8.000 caracteres para suportar todas as combinações possíveis de sílabas Hangul que faltavam no padrão EUC-KR original.
P: Como posso detectar se um arquivo é EUC-KR ou UTF-8?
R: Você pode usar bibliotecas de detecção de padrões de bytes (como chardet) ou verificar manualmente a ausência de sequências multibyte UTF-8. Arquivos UTF-8 geralmente contêm um BOM (Byte Order Mark), embora não seja recomendado para texto coreano.
5. Domine o Texto Coreano com o Tool3M
Não deixe que as codificações coreanas legadas atrasem seu desenvolvimento. O Tool3M fornece ferramentas especializadas para lidar com o texto coreano com precisão:
- Codificador e Decodificador EUC-KR/CP949: Repare texto distorcido e converta arquivos coreanos legados para padrões modernos.
- Ferramenta de Normalização Hangul: Converta entre Hangul NFC e NFD para compatibilidade entre plataformas.
- Detector de Codificação Coreana: Identifique instantaneamente a codificação de qualquer trecho de texto ou arquivo coreano.