Codifica delle stringhe nelle istanze di stringa da lingue diverse

1

Recentemente ho avuto l'obbligo di sviluppare un'applicazione simile alla chat, o piuttosto, una base di classi e metodi che consentirebbe ad alcune applicazioni di avere caratteristiche simili a quelle di una chat. Il framework deve essere utilizzabile in almeno due lingue: Visual Basic 6 e C #.

Se VB6-Application A dovesse trasmettere dati di stringa a CSharp-Application B , quando i dati sono ricevuti da CSharp-Application B e inseriti in string , posso supporre che la stringa conterrà le stesse informazioni contenute quando VB6-Application A spedito? (cioè conterrà la stessa sequenza di byte che è stata inviata dall'istanza della stringa originale nell'app VB6.)

    
posta ferc 08.09.2014 - 18:21
fonte

1 risposta

1

Facendo eco al commento di Neil, devi assicurarti che la codifica sia la stessa ai fini di invio / ricezione. Supponendo che tu possa passare un array di byte da una lingua all'altra, ti consigliamo di pensare a quale codifica usare. UTF-8 è probabilmente il più popolare ora. Se non hai familiarità con le codifiche dei caratteri, ti preghiamo di dedicare un po 'di tempo a controllare le nozioni di base, per gentile concessione di Joel Spolsky .

Facendo qualche ricerca, sembra che VB6 memorizzi le stringhe internamente come UTF-16 ma tende a convertirsi in ANSI per il mondo esterno. Quindi un approccio che potresti assumere sul lato VB per le conversioni tra UTF-8 e gli array di byte si trova qui . Il lato C # è un po 'meno complicato e puoi trovare una pagina MSDN con esempi di codice carini qui .

    
risposta data 09.09.2014 - 04:12
fonte

Leggi altre domande sui tag