UTF-8 a Unicode utilizzando C #
Domanda
Help me please. Ho problemi con la codifica di stringa di risposta dopo la richiesta GET:
var m_refWebClient = new WebClient();
var m_refStream = m_refWebClient.OpenRead(this.m_refUri);
var m_refStreamReader = new StreamReader(this.m_refStream, Encoding.UTF8);
var m_refResponse = m_refStreamReader.ReadToEnd();
Dopo aver chiamato questo codice mia stringa m_refResponse è sorgente JSON con stringhe come \u041c\u043e\u0439
. Che cos'è? Come codificare per cirillico? Sono molto stanco dopo un sacco di tentativi.
corretto
Soluzione
mi manca qualcosa qui?
Di cosa si tratta?
"\u041c\u043e\u0439"
è la rappresentazione letterale String of Мой
. Non devi fare altro, le stringhe sono Unicode, hai la tua cirillico già.
(A meno che non si letteralmente avere la \u041c\u043e\u0439
sequenza, cioè. Il valore "\\u041c\\u043e\\u0439"
dire. Non sarebbe il risultato di un errore di codifica, che sarebbe qualcosa che accade a livello di server, ad esempio si restituendo una stringa JSON, dal momento che JSON e C # utilizzano le stesse fughe \u
. Se questo è ciò che sta accadendo uso un parser JSON.)
Altri suggerimenti
Io non sono al 100% su questo, ma vorrei assumere che avrei dovuto passare Encoding.Unicode a StreamReader.