簡體   English   中英

使用C#將UTF-8轉換為Unicode

[英]UTF-8 to Unicode using C#

請幫幫我。 我在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();

調用此代碼后,我的字符串m_refResponse是json源,其子字符串類似於\М\о\й 它是什么? 如何為西里爾字母編碼? 經過很多嘗試,我感到非常疲倦。

修正

我在這里想念什么嗎?

它是什么?

"\М\о\й""\М\о\й"的字符串文字表示Мой 您無需執行任何其他操作,字符串是Unicode,您已經擁有西里爾字母。

(除非您的意思是您實際上具有序列\М\о\й ,即值"\\\М\\\о\\\й" 。這不是編碼錯誤的結果,那是發生在服務器,例如,它返回JSON字符串,因為JSON和C#使用相同的\\u\u003c/code>轉義。如果是這種情況,請使用JSON解析器。)

我不是100%,但是我認為您必須將Encoding.Unicode傳遞給StreamReader。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM