Nota de compatibilidade: 4D pode funcionar com dois conjuntos de caracteres: Unicode ou ASCII. o modo Unicode é o modo padrão utilizado nos novos bancos a partir da versão 11 de 4D. O modo ASCII se conserva por motivos de compatibilidade com bancos criados em versões anteriores de 4D. Este modo se chama modo compatibilidade ASCII.
É possível aplicar o modo Unicode aos bancos de dados convertidos através do seletor Modo Unicode dos comandos Get database parameter e SET DATABASE PARAMETER ou através da opção Modo Unicode que se encontra na página Aplicação/Compatibilidade das Preferências:
![](../../picture/27430/pict27430.EN.png)
Na maioria dos casos, o funcionamento inicial das aplicações não é afetado por essa configuração, já que 4D maneja qualquer conversão de caracteres internamente. Além disso, os caracteres mais comuns (a-z, 0-9, etc) (a-z, 0-9, etc.) têm o mesmo valor (de 1 a 127) tanto no Unicode quanto no ASCII (Windows e Mac OS).
Entretanto, algumas instruções de linguagem, especialmente as que utilizam comandos que funcionam com cadeia de caracteres, poderiam precisar de algumas adaptações. Por exemplo, a instrução Char(200) não devolverá o mesmo valor em Unicode que em ASCII. Este manual descreve as diferenças de funcionamento entre o modo Unicode e o modo de compatibilidade ASCII para cada comando.
Nota: este modo é específico para cada banco de dados. Portanto é possível ter um banco Unicode coexistindo com os componentes não-Unicode (ou viceversa).
Quando o banco estiver operando em modo de compatibilidade ASCII nas plataformas Mac OS e Windows, o motor interno do banco de dados e a linguagem do 4d trabalham com o mapa ASCII estendido do Macintosh. Quando você inserir dados utilizando o teclado (adição de registros, edição de métodos, etc.), 4D utiliza o esquema interno de conversão de Altura ASCII para converter os códigos que provem do teclado (os quais são expressados com a ajuda do mapa ASCII estendido do Windows) em códigos Macintosh. Por exemplo, para introduzir uma “é”, digite ALT+0233, e o 4D armazena o código ASCII 142 no registro. Isto é transparente para o usuário final, pois quando você faz uma pesquisa, você introduz o valor real a ser pesquisado no editor de pesquisas. Portanto, o valor digitado (ALT+0233) é também traduzido no código ASCII 142 e a pesquisa termina.
O mesmo principio é aplicado quando você digita ALT+0233 no editor de métodos. Contudo, para pesquisar um caractere utilizando seu código ASCII, deve utilizar o código ASCII Macintosh do caractere.
Por exemplo:
QUERY(...;[MeuArquivo]MeuCampo="é")
é igual a:
QUERY(...;[MeuArquivo]MeuCampo=Char(142))
- A tabela padrão dos códigos ASCII (0 a 127), é idêntica para as plataformas Windows e Macintosh. Estes códigos ASCII padrão são listados em ASCII Codes 0..63 e ASCII Codes 64..127.
- A tabela ASCII (códigos ASCII de 128 a 255) é diferente em Windows e Macintosh. Com o objetivo de ter certeza da independência da plataforma de suas aplicações, 4D converte automaticamente os códigos ASCII (do mapa Windows ao mapa Mac OS) quando os caracteres são introduzidos no ambiente 4D (entrada de dados, copiar/colar, importar registros, etc). e (do mapa Mac OS ao mapa Windows) quando os caracteres são extraídos do ambiente 4D (cortar/colar, exportar, etc.).
Os códigos ASCII do 128 ao 255 são listados nas seções ASCII Codes 128..191 e ASCII Codes 192..255.
![](../../picture/27431/pict27431.EN.png)
![](../../picture/27432/pict27432.EN.png)
• Códigos ASCII 64 a 127
![](../../picture/27433/pict27433.EN.png)
![](../../picture/27434/pict27434.EN.png)
![](../../picture/27435/pict27435.EN.png)
![](../../picture/27436/pict27436.EN.png)
![](../../picture/27437/pict27437.EN.png)
![](../../picture/27438/pict27438.EN.png)
![](../../picture/27439/pict27439.EN.png)
![](../../picture/27440/pict27440.EN.png)
![](../../picture/27441/pict27441.EN.png)
![](../../picture/27442/pict27442.EN.png)
Nota: As caixas cinzas indicam os caracteres que não estão disponíveis em Window ou que são diferentes dos caracteres Macintosh.