In che modo la codifica viene gestita correttamente durante il copia-incolla tra programmi?

5

Supponiamo

  • un programma A apre un file di testo A usando la codifica A per decodificare il file e
  • un programma B apre un file di testo B usando la codifica B.

Quando copiamo del testo dal file B nel programma B al file A nel programma A usando la selezione del mouse, ctrl + c e poi ctrl + v , ho sentito che la GUI del sistema operativo (ad esempio X Window System in Linux, e credo che qualcosa di simile in Windows) gestisce il trasferimento tra i programmi.

Ad esempio, il programma A può essere qualsiasi programma che accetta il text-paste, come un editor di testo (ad esempio emacs, gedit) o qualsiasi altro programma, e il programma B può essere qualsiasi programma che accetta la copia di testo, come un visualizzatore di testi (ad esempio un browser Web come firefox, chrome), un editor di testo o qualsiasi altro programma.

Domanda:

Si noti che la codifica A e la codifica B possono essere diverse. Cosa dovrebbe accadere sotto il hook di ctrl + c e ctrl + v in modo che il testo incollato nel file A nel programma A può essere coerente con il testo originale nel file A?

  • Quando si colpisce ctrl + c nel file B e nel programma B, è il contenuto binario del testo copiato negli "appunti" della GUI del sistema operativo lo stesso del contenuto binario del testo originale nel file B? Cioè la codifica per il testo copiato negli "appunti" continua a codificare B? Quale programma dovrebbe determinare la codifica del testo copiato negli "appunti"?

  • Quando si colpisce ctrl + v nel file A e nel programma A, il contenuto binario del testo incollato nel file A è uguale al contenuto binario di il testo originale nel file B? Cioè nel nuovo file A, il testo originale dovrebbe essere decodificato con la codifica A e il testo incollato dovrebbe essere decodificato con la codifica B? Quale programma dovrebbe determinare la codifica del testo incollato nel file A?

posta Tim 15.01.2015 - 20:06
fonte

1 risposta

2

La soluzione più semplice è usare una codifica standard. Ad esempio, in Windows, una codifica standard è "unicode", che si riferisce a UTF-16, la codifica consigliata per le applicazioni Windows. I programmi che accettano input di appunti devono essere in grado di interpretare la codifica. Tutto questo è documentato su MSDN.

Unicode (Windows) Formati di Appunti standard

    
risposta data 15.01.2015 - 20:18
fonte

Leggi altre domande sui tag