Non è più possibile utilizzare il codice Alt per l'inserimento di caratteri Unicode


10

Sto usando il codice Alt per i puntini di sospensione, 8230, da un po 'di tempo, in diverse applicazioni. Qualche giorno fa ha smesso di funzionare e &viene visualizzato al posto di quando si preme Alt+ 8+ 2+ 3+ 0(sul tastierino numerico). Questo è successo sia sul mio desktop che sul mio laptop (dove lo uso Fn). Entrambi funzionano su 64 bit-Win-7 con code page 850 ed entrambi potrebbero aver aggiornato Windows e Opera 12 di recente.

Quale potrebbe essere la ragione per cui questo metodo di input è stato disabilitato e come posso ripristinarlo ?

A proposito, ho appena scoperto che Alt+ 0+ 1+ 3+ 3funziona. Ho anche scoperto che Alt+ 8+ 2+ 3+ 0funziona ancora in WordPad o MsWord10, ma né in Opera né in Blocco note ++: lì il codice carattere viene tradotto modulo 256 prima dell'inserimento.


Suggerisco di provare WinCompose in quanto consente di inserire i puntini di sospensione con la combinazione semplice ed intuitiva [Alt] [.] [.].
Sam Hocevar,


@ LưuVĩnhPhúc No, questa è una domanda completamente diversa. Si noti che 8230 è il codice decimale dei puntini di sospensione, non quello esadecimale.
Bergi,

Risposte:


6

Per quanto ne so, il metodo Alt nnnn (nnnn decimale> 255) è una funzione RichEdit e quindi funziona solo su programmi selezionati, come WordPad e MS Word. In altri programmi, il numero inserito, nnnn, viene ridotto modulo 256 per produrre un numero compreso nell'intervallo 0 ... 255, interpretato in base alla tabella codici in uso.

Cf. a Inserire Unicode caratteri tramite la tastiera? che descrive alcuni metodi alternativi. Sfortunatamente, il metodo Alt + xxxx (xxxx esadecimale; ad esempio, Alt + 2026 per "...") è apparentemente disabilitato per impostazione predefinita e per consentirlo è necessario modificare il registro di Windows. Oltre all'utilità UnicodeInput, esiste anche l' immissione Unicode per nome , ma questi metodi non sono altrettanto convenienti per la digitazione veloce come i metodi Alt.


Grazie, sembra essere la direzione giusta. Apparentemente Opera 12 ha abbandonato questa funzione RichEdit. Posso riattivarlo manualmente in qualche modo o dovrei scrivere una segnalazione di bug?
Bergi,

1
+1 La tua osservazione che in altri programmi, il valore del carattere è mod 256 è esattamente il comportamento che ho osservato nel Blocco note.
Nicole Hamilton,

4

I codici alt e i caratteri unicode sono solo vagamente correlati e (per la maggior parte) spetta a ciascuna applicazione determinare come gestirli, quindi può essere diverso tra app, versioni di app e simili.

Fondamentalmente si tratta di codifica dei caratteri e pagine di codice , piuttosto che caratteri o input dell'utente.

I codici alt per ASCII sono solo 0-255 (tabella codici a 8 bit). Molti programmi (e sistemi operativi) hanno a che fare con numeri più grandi immessi dall'utente spostandosi a 256.

256 = 0, 257 = 1, ecc.

Quindi inserire ALT + 8230, equivale in realtà a digitare ALT + 38 (8230/256 = 32.1484375. 256 * 32 = 8192. 8230 - 8192 = 38), che è il carattere ASCII "&" - a meno che il programma non lo intercetti e lo sostituisce con codici Unicode "corretti" o utilizzando una tabella codici diversa (ad es. Unicode), ad esempio MS Word e le versioni più recenti di WordPad.

Windows utilizza una versione estesa di MSDOS 8-bit Codepage (850) chiamata codepage " Windows-1252 " (comunque per le lingue inglese). Ma lo utilizza solo per parti legacy del sistema operativo che non supportano completamente le pagine di codice Unicode.

Questi sono i motivi per cui puoi vedere facilmente risultati diversi in diversi sistemi operativi e applicazioni, nonché all'interno di diverse parti di Windows stesso.

È un problema confuso per non dire altro. :)

Sono abbastanza sicuro che Alt-0133 sia il codice ALT esteso "ufficiale" di Windows per i puntini di sospensione (nella tabella codici di Windows), quindi probabilmente avrai una fortuna più coerente nell'usarlo.

Ecco alcune informazioni correlate .


Grazie per il link informativo. Ho già visto che ci sono differenze confuse nella ricerca del problema :-)
Bergi,

1

U + 8230 non è l'ellissi, è il personaggio di Han nave da guerra : . Non so perché ti sia mai capitato di ottenere dei puntini di sospensione con quel codice, ma 133 è davvero il punto di codice corretto per questo.

Dove esattamente dove vedi i puntini di sospensione per 8230? Forse è stato risolto un bug in Opera dall'ultimo aggiornamento. Se fosse in "diverse applicazioni", forse hai avuto un bug nel tuo carattere o layout di tastiera / impostazione regionale o qualcosa del genere (non mi viene in mente nulla di ovvio o razionale, quindi deve essere stato un bug rispetto a un'impostazione legittima).

Se (per qualche motivo) vuoi davvero / hai bisogno di usare un punto di codice errato per esso invece di usare quello corretto, puoi usare puoi usare qualcosa come Authotkey per creare uno script che accetta un accordo o una sequenza e produce quello che vuoi .

Sei sicuro di essere riuscito a inserire Alt+ Numpad-8+ Numpad-0+ Numpad-2+ Numpad-3? Sebbene alcuni programmi possano supportarlo indipendentemente, Windows non accetta punti di codice Unicode elevati come quello di default. Puoi usare la voce esadecimale però: Alt+ Numpad-++ 2+ 0+ 2+ 6.


8230 è decimale per esadecimale 2026 che è in effetti l'ellissi. fileformat.info/info/unicode/char/2026/index.htm Alt + 8230 funziona in alcune app (ad es. Outlook nuovo messaggio) ma non in altre (ad es. Blocco note) per me su Win7 x64.
Nicole Hamilton,

8230è il codice dei caratteri decimali di U + 2026 ( Ellissi ). Non ho mai usato il prefisso +o 0, ho semplicemente tenuto premuto Alte ho inserito un codice decimale a quattro cifre. Come detto nella domanda, questo funziona ancora bene in Word.
Bergi,

Sì, sono sicuro che ha funzionato, ma immagino che lo abbia fatto solo nelle mie applicazioni preferite: - / La voce esadecimale non è attualmente abilitata e produce , quindi mi atterrò a 0133...
Bergi,

> La voce esadecimale non è attualmente abilitata Forse no, ma è possibile abilitarla per comodità perché, come ho detto, Windows non accetta più di 8000 punti di codice (in decimale) per impostazione predefinita. L'uso di hex-entry è un'impostazione di Windows, quindi funziona in tutte le applicazioni (almeno tutte quelle che supportano le caselle di modifica Unicode).
Synetech,

0

Forse il carattere corrente non supporta tali caratteri Unicode superiori, cambiare il carattere in "Arial" e riprovare.

Quando provo questo in WordPad, ALT + 8 + 2 + 3 + 0 funziona per Arial, ma non per alcuni altri caratteri.


1
No, i caratteri supportano la loro visualizzazione. Inoltre, non penso che un carattere possa influenzare il metodo di input.
Bergi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.