![Por que o caractere Unicode (U+2295) aparece como (U+2248)](https://rvso.com/image/1476416/Por%20que%20o%20caractere%20Unicode%20(U%2B2295)%20aparece%20como%20(U%2B2248).png)
Abro o Bloco de Notas e digito +2295
mantendo pressionada a tecla Alt e, em seguida, solto a tecla Alt. Salvei o arquivo com codificação Unicode. No entanto, a saída não éhttp://www.fileformat.info/info/unicode/char/2295/index.htmcomo esperado, mas issohttp://www.fileformat.info/info/unicode/char/2248/index.htmem vez de. O que estou fazendo de errado? Procurando algumas dicas.
Para qualquer outra pessoa que esteja tropeçando nisso: observe EnableHexNumpad
que precisa ser um novoTipo de sequência(Veja a página Wiki com link na resposta)
Responder1
OEntrada da Wikipédianos métodos de entrada Unicode lista um pré-requisito necessário para que isso funcione:
Um pré-requisito para este método de entrada é que a chave de registro
HKEY_CURRENT_USER\Control Panel\Input Method
contenha um valor de tipo string (REG_SZ
) chamadoEnableHexNumpad
, que contém os dados do valor1
. Os usuários precisam fazer logoff/login no Windows 8.1/8.0, Windows 7 e Vista ou reinicializar em sistemas anteriores após editar o registro para que esse método de entrada comece a funcionar.
Depois de adicionar essa chave de registro à minha máquina e reinicializá-la, a entrada funciona exatamente como anunciada.
Responder2
Para responder à questão de por que esse valor específico está presente:
Com o método de entrada padrão, os números decimais são obtidos mod 256 e depois interpretados como a página de código OEM* se não houver zero à esquerda, ou a página de código ANSI se houver um zero à esquerda. Então, as etapas são:
- 2295 módulo 256 = 247
- 247 [0xF7] é U+2295 na página de código OEM
Os conjuntos de caracteres que possuem U+2295 nesta poção são Codepages 437, 737, 770, 772, 774, 860, 861, 862, 863, 864, 865, CWI e MIK.
(O fato de "2295" e "2248" começarem com 22 é uma coincidência interessante, nada mais)
* Nota: "Página de código ANSI" tem pouco a ver com ANSI, exceto que a página de código 1252 foi baseada em um rascunho do que mais tarde se tornou ISO 8859-1 [e algumas das outras tiveram origens semelhantes]. É o conjunto de caracteres de 8 bits associado à localidade atual e "Página de código OEM" é outro conjunto de caracteres associado à localidade, normalmente aquele usado no MS-DOS naquele país.